DataBoundControlAdapter.PerformDataBinding(IEnumerable) Metodo

Definizione

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

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

IEnumerable di Object da associare all'oggetto DataBoundControl derivato.

Esempio

Nell'esempio di codice seguente viene illustrato come eseguire l'override della raccolta per salvare l'origine PerformDataBinding dati in un oggetto unidimensionale ArrayList e aggiungere separatori di riga. Viene inoltre illustrato come eseguire l'override del metodo per eseguire il RenderContents ArrayList rendering 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 adattatore di controllo è collegato a un DataBoundControlAdapter controllo derivato dalla DataBoundControl classe.

In genere, un override di iterazioni attraverso i dati, la creazione di DataBoundControl.PerformDataBinding nomi e valori distinti quando necessario e la salva in una raccolta interna. In genere, RenderContents o un metodo simile dell'oggetto DataBoundControl popola l'interfaccia utente o i controlli figlio da tale raccolta interna.

Note per gli eredi

Eseguire l'override del metodo quando è necessaria la PerformDataBinding(IEnumerable) logica di associazione specializzata per il browser di destinazione, ad esempio quando i nomi degli elementi devono essere creati 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 dell'oggetto DataBoundControl.

Si applica a

Vedi anche