Share via


DataBoundControlAdapter.PerformDataBinding(IEnumerable) Méthode

Définition

Lie à l'adaptateur de contrôle les données figurant dans la source de données de l'objet DataBoundControl associé.

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)

Paramètres

data
IEnumerable

IEnumerable du Object à lier au DataBoundControl dérivé.

Exemples

L’exemple de code suivant montre comment remplacer la collection pour enregistrer la PerformDataBinding source de données dans un objet unidimensionnel ArrayList et ajouter des séparateurs de lignes. Il montre également comment remplacer la méthode pour afficher la RenderContents ArrayList liste des champs séparés par <br /> les balises.

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

Remarques

La PerformDataBinding méthode est appelée à la place de la DataBoundControl.PerformDataBinding méthode lorsqu’un adaptateur de contrôle est attaché à un DataBoundControlAdapter contrôle dérivé de la DataBoundControl classe.

En règle générale, une substitution d’itération par le biais de données, la création de DataBoundControl.PerformDataBinding noms et de valeurs distincts si nécessaire et l’enregistre dans une collection interne. En règle générale, RenderContents ou une méthode similaire de celle-ci DataBoundControl remplit l’interface utilisateur ou les contrôles enfants de cette collection interne.

Notes pour les héritiers

Remplacez la méthode lorsque la PerformDataBinding(IEnumerable) logique de liaison spécialisée est requise pour le navigateur cible , par exemple, lorsque les noms d’éléments doivent être construits différemment que pour l’utilisation générale du contrôle.

La PerformDataBinding(IEnumerable) méthode de base appelle PerformDataBinding(IEnumerable). Vous devez appeler la PerformDataBinding(IEnumerable) méthode de base uniquement si vous avez besoin de la fonctionnalité de liaison de données du DataBoundControl.

S’applique à

Voir aussi