DataBoundControlAdapter.PerformDataBinding(IEnumerable) Yöntem

Tanım

İlişkili DataBoundControl nesnenin veri kaynağındaki verileri denetim bağdaştırıcısına bağlar.

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)

Parametreler

data
IEnumerable

IEnumerable Object Türetilen DataBoundControlöğesine bağlanacak bir değeri.

Örnekler

Aşağıdaki kod örneğinde, veri kaynağını tek boyutlu PerformDataBinding bir nesneye kaydetmek ve satır ayırıcıları eklemek için koleksiyonun nasıl geçersiz kılınacakları ArrayList gösterilmektedir. Ayrıca, öğesini etiketlerle RenderContents ayrılmış ArrayList alanların listesi olarak işlemek <br /> için yönteminin nasıl geçersiz kılındığı da gösterilir.

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

Açıklamalar

bir PerformDataBinding denetim bağdaştırıcısı sınıfından DataBoundControl.PerformDataBinding türetilen bir DataBoundControlAdapter denetime eklendiğinde yöntemi yöntemi yerine çağrılır DataBoundControl .

Genellikle, geçersiz kılma DataBoundControl.PerformDataBinding verileri yineler, gerektiğinde ayrı adlar ve değerler oluşturur ve bunu bir iç koleksiyona kaydeder. Genellikle veya benzeri bir yöntemiRenderContents, DataBoundControl bu iç koleksiyondaki kullanıcı arabirimini veya alt denetimleri doldurur.

Devralanlara Notlar

PerformDataBinding(IEnumerable) Hedef tarayıcı için özel bağlama mantığı gerektiğinde yöntemini geçersiz kılın. Örneğin, öğe adlarının denetimin genel kullanımına göre farklı şekilde oluşturulması gerektiğinde.

PerformDataBinding(IEnumerable) Temel yöntem çağrısı yaparPerformDataBinding(IEnumerable). Temel yöntemi yalnızca öğesinin PerformDataBinding(IEnumerable) veri bağlama işlevine DataBoundControlihtiyacınız varsa çağırmalısınız.

Şunlara uygulanır

Ayrıca bkz.