DataBoundControlAdapter.PerformDataBinding(IEnumerable) メソッド
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
関連付けられている DataBoundControl オブジェクトのデータ ソースのデータをコントロール アダプターにバインドします。
protected public:
virtual void PerformDataBinding(System::Collections::IEnumerable ^ data);
protected internal virtual void PerformDataBinding (System.Collections.IEnumerable data);
abstract member PerformDataBinding : System.Collections.IEnumerable -> unit
override this.PerformDataBinding : System.Collections.IEnumerable -> unit
Protected Friend Overridable Sub PerformDataBinding (data As IEnumerable)
パラメーター
- data
- IEnumerable
派生した IEnumerable にバインドされる Object の DataBoundControl。
例
次のコード例は、コレクションを PerformDataBinding オーバーライドしてデータ ソースを 1 次元 ArrayList オブジェクトに保存し、行区切り記号を追加する方法を示しています。 また、メソッドをオーバーライドRenderContentsして、タグで<br />
区切られたフィールドの一覧としてレンダリングArrayListする方法も示します。
// One-dimensional list for the grid data.
ArrayList dataArray = new ArrayList();
// Copy grid data to one-dimensional list, add row separators.
protected override void PerformDataBinding(IEnumerable data)
{
IEnumerator dataSourceEnumerator = data.GetEnumerator();
// Iterate through the table rows.
while (dataSourceEnumerator.MoveNext())
{
// Add the next data row to the ArrayList.
dataArray.AddRange(
((DataRowView)dataSourceEnumerator.Current).Row.ItemArray);
// Add a separator to the ArrayList.
dataArray.Add("----------");
}
}
// Render the data source as a one-dimensional list.
protected override void RenderContents(
System.Web.UI.HtmlTextWriter writer)
{
// Render the data list.
for( int col=0; col<dataArray.Count;col++)
{
writer.Write(dataArray[col]);
writer.WriteBreak();
}
}
' One-dimensional list for the grid data.
Private dataArray As New ArrayList()
' Copy grid data to one-dimensional list, add row separators.
Protected Overrides Sub PerformDataBinding(ByVal data As IEnumerable)
Dim dataSourceEnumerator As IEnumerator = data.GetEnumerator()
' Iterate through the table rows.
While dataSourceEnumerator.MoveNext()
' Add the next data row to the ArrayList.
dataArray.AddRange(CType(dataSourceEnumerator.Current, _
DataRowView).Row.ItemArray)
' Add a separator to the ArrayList.
dataArray.Add("----------")
End While
End Sub
' Render the data source as a one-dimensional list.
Protected Overrides Sub RenderContents( _
ByVal writer As System.Web.UI.HtmlTextWriter)
' Render the data list.
Dim col As Integer
For col = 0 To dataArray.Count - 1
writer.Write(dataArray(col))
writer.WriteBreak()
Next col
End Sub
注釈
メソッドはPerformDataBinding、コントロール アダプターがクラスからDataBoundControl派生したコントロールにアタッチされるときにDataBoundControlAdapter、メソッドの代わりにDataBoundControl.PerformDataBinding呼び出されます。
通常、データを反復処理し、必要に応じて個別の DataBoundControl.PerformDataBinding 名前と値を作成し、内部コレクションに保存します。 通常、 RenderContents または同様のメソッドが DataBoundControl 、その内部コレクションのユーザー インターフェイスまたは子コントロールに設定されます。
注意 (継承者)
ターゲット ブラウザーに PerformDataBinding(IEnumerable) 特殊なバインド ロジックが必要な場合 (たとえば、項目名をコントロールの一般的な使用方法とは異なる方法で構築する必要がある場合など) は、メソッドをオーバーライドします。
基本メソッドの PerformDataBinding(IEnumerable) 呼び出し PerformDataBinding(IEnumerable)。 基本メソッドのデータ バインディング機能が PerformDataBinding(IEnumerable) 必要な場合にのみ、基本メソッドを呼び出す DataBoundControl必要があります。