DataBoundControlAdapter.PerformDataBinding(IEnumerable) Metod
Definition
Viktigt
En del information gäller för förhandsversionen av en produkt och kan komma att ändras avsevärt innan produkten blir allmänt tillgänglig. Microsoft lämnar inga garantier, uttryckliga eller underförstådda, avseende informationen som visas här.
Binder data i datakällan för det associerade DataBoundControl objektet till kontrollkortet.
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)
Parametrar
- data
- IEnumerable
Ett IEnumerable av Object som ska bindas till den härledda DataBoundControl.
Exempel
I följande kodexempel visas hur du åsidosätter PerformDataBinding samlingen för att spara datakällan i ett endimensionellt ArrayList objekt och lägga till radavgränsare. Den visar också hur du åsidosätter RenderContents metoden för att återge ArrayList som en lista över fält avgränsade med <br /> taggar.
// 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
Kommentarer
Metoden PerformDataBinding anropas i stället för DataBoundControl.PerformDataBinding metoden när ett DataBoundControlAdapter kontrollkort är kopplat till en kontroll som härleds från DataBoundControl klassen.
Vanligtvis åsidosätts DataBoundControl.PerformDataBinding itererar genom data, skapar distinkta namn och värden vid behov och sparar den i en intern samling. Vanligtvis, RenderContents eller så fyller en liknande metod DataBoundControl i användargränssnittet eller underordnade kontroller från den interna samlingen.
Anteckningar till arvingar
PerformDataBinding(IEnumerable) Åsidosätt metoden när specialiserad bindningslogik krävs för målwebbläsaren, till exempel när objektnamn måste konstrueras på ett annat sätt än för den allmänna användningen av kontrollen.
Basmetoden PerformDataBinding(IEnumerable) anropar PerformDataBinding(IEnumerable). Du bör bara anropa PerformDataBinding(IEnumerable) basmetoden om du behöver databindningsfunktionen i DataBoundControl.