DataBoundControlAdapter.PerformDataBinding(IEnumerable) Methode
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
Bindet die Daten in der Datenquelle des zugeordneten DataBoundControl-Objekts an den Steuerelementadapter.
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)
Parameter
- data
- IEnumerable
Ein IEnumerable von Object, das an das abgeleitete DataBoundControl gebunden werden soll.
Beispiele
Im folgenden Codebeispiel wird gezeigt, wie Die PerformDataBinding Auflistung überschrieben wird, um die Datenquelle in einem eindimensionalen ArrayList Objekt zu speichern und Zeilentrennzeichen hinzuzufügen. Außerdem wird gezeigt, wie die RenderContents -Methode überschrieben wird, um die ArrayList als Liste von durch Tags getrennten <br />
Feldern zu rendern.
// 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
Hinweise
Die PerformDataBinding -Methode wird anstelle der DataBoundControl.PerformDataBinding -Methode aufgerufen, wenn ein DataBoundControlAdapter Steuerelementadapter an ein von der DataBoundControl -Klasse abgeleitetes Steuerelement angefügt ist.
In der Regel durchläuft eine Überschreibung von DataBoundControl.PerformDataBinding Daten Daten, erstellt bei Bedarf unterschiedliche Namen und Werte und speichert sie in einer internen Sammlung. RenderContents In der Regel füllt eine ähnliche Methode die DataBoundControl Benutzeroberfläche oder untergeordnete Steuerelemente aus dieser internen Auflistung auf.
Hinweise für Vererber
Überschreiben Sie die PerformDataBinding(IEnumerable) -Methode, wenn für den Zielbrowser eine spezielle Bindungslogik erforderlich ist, z. B. wenn Elementnamen anders als für die allgemeine Verwendung des Steuerelements erstellt werden müssen.
Die PerformDataBinding(IEnumerable) Basismethode ruft auf PerformDataBinding(IEnumerable). Sie sollten die PerformDataBinding(IEnumerable) Basismethode nur aufrufen, wenn Sie die Datenbindungsfunktion von DataBoundControlbenötigen.