DataBoundControlAdapter.PerformDataBinding(IEnumerable) Metodo

Definizione

Associa i dati nell'origine dati dell'oggetto associato DataBoundControl all'adattatore di controllo.

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)

Parametri

data
IEnumerable

Oggetto IEnumerable di Object da associare all'oggetto derivato DataBoundControl.

Esempio

Nell'esempio di codice seguente viene illustrato come eseguire l'override della PerformDataBinding raccolta per salvare l'origine dati in un oggetto unidimensionale ArrayList e aggiungere separatori di riga. Viene inoltre illustrato come eseguire l'override del metodo per eseguire il RenderContentsArrayList rendering di come elenco di campi separati da <br /> tag.

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

Commenti

Il PerformDataBinding metodo viene chiamato al posto del DataBoundControl.PerformDataBinding metodo quando un DataBoundControlAdapter adattatore di controllo viene collegato a un controllo derivato dalla DataBoundControl classe .

In genere, un override di esegue l'iterazione dei DataBoundControl.PerformDataBinding dati, creando nomi e valori distinti quando necessario e salvandolo in una raccolta interna. In genere, RenderContents o un metodo simile di DataBoundControl verrà popolata l'interfaccia utente o i controlli figlio da tale raccolta interna.

Note per gli eredi

Eseguire l'override del PerformDataBinding(IEnumerable) metodo quando è necessaria la logica di associazione specializzata per il browser di destinazione, ad esempio quando i nomi degli elementi devono essere costruiti in modo diverso rispetto all'utilizzo generale del controllo.

Il PerformDataBinding(IEnumerable) metodo di base chiama PerformDataBinding(IEnumerable). È consigliabile chiamare il PerformDataBinding(IEnumerable) metodo di base solo se è necessaria la funzionalità di data binding di DataBoundControl.

Si applica a

Vedi anche