Sdílet prostřednictvím


DataBoundControlAdapter.PerformDataBinding(IEnumerable) Metoda

Definice

Vytvoří vazbu dat ve zdroji dat přidruženého DataBoundControl objektu k adaptéru ovládacího prvku.

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)

Parametry

data
IEnumerable

Object Musí IEnumerable být vázán na odvozený DataBoundControl.

Příklady

Následující příklad kódu ukazuje, jak přepsat PerformDataBinding kolekci pro uložení zdroje dat do jednorozměrného ArrayList objektu a přidat oddělovače řádků. Také ukazuje, jak přepsat metodu RenderContents ArrayList vykreslení jako seznam polí oddělených značkami <br /> .

// 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

Poznámky

Metoda PerformDataBinding se volá místo DataBoundControl.PerformDataBinding metody, když DataBoundControlAdapter je ovládací adaptér připojen k ovládacímu prvku odvozeného z DataBoundControl třídy.

Obvykle přepsání DataBoundControl.PerformDataBinding iteruje daty, v případě potřeby vytváří jedinečné názvy a hodnoty a uloží je do interní kolekce. RenderContents Obvykle nebo podobná metoda DataBoundControl naplní uživatelské rozhraní nebo podřízené ovládací prvky z této interní kolekce.

Poznámky pro dědice

Přepište metodu PerformDataBinding(IEnumerable) , pokud je pro cílový prohlížeč vyžadována specializovaná logika vazby – například když se názvy položek musí vytvořit jinak než pro obecné použití ovládacího prvku.

Základní PerformDataBinding(IEnumerable) metoda volá PerformDataBinding(IEnumerable). Základní metodu PerformDataBinding(IEnumerable) byste měli volat pouze v případě, že požadujete funkce datové vazby .DataBoundControl

Platí pro

Viz také