Freigeben über


ListObject.SetDataBinding-Methode (Object, String, array<String )

Bindet ein ListObject-Steuerelement an einen angegebenen Datenmember einer Datenquelle und zeigt nur die angegebenen Spalten dieses Datenmembers an.

Namespace:  Microsoft.Office.Tools.Excel
Assembly:  Microsoft.Office.Tools.Excel (in Microsoft.Office.Tools.Excel.dll)

Syntax

'Declaration
Sub SetDataBinding ( _
    dataSource As Object, _
    dataMember As String, _
    ParamArray mappedColumns As String() _
)
void SetDataBinding(
    Object dataSource,
    string dataMember,
    params string[] mappedColumns
)

Parameter

  • dataSource
    Typ: System.Object
    Das Objekt, das als Datenquelle für das ListObject-Steuerelement verwendet werden soll.
  • dataMember
    Typ: System.String
    Der DataMember, der die Eigenschaft innerhalb des von der DataSource zurückgegebenen Objekts angibt, zu der die Bindung hergestellt werden soll.
  • mappedColumns
    Typ: array<System.String[]
    Die Namen der Spalten im Datenmember, den Sie im ListObject-Steuerelement anzeigen möchten.In das Array wird eine leere Zeichenfolge eingeschlossen, um eine nicht zugeordnete Spalte hinzuzufügen.

Ausnahmen

Ausnahme Bedingung
SetDataBindingFailedException

Konnte keine Bindung zur angegeben Datenquelle herstellen.

ArgumentException

Mindestens ein Argument ist ungültig.

ArgumentNullException

Das dataSource-Argument ist nullein Nullverweis (Nothing in Visual Basic).

Hinweise

Der dataSource-Parameter kann jedes Objekt sein, das IList, IListSource, IBindingList oder IEnumerable implementiert.

Der dataMember-Parameter muss eine Eigenschaft der Datenquelle sein, die eine bindungsfähige Auflistung zurückgibt.So hat beispielsweise eine DataSet-Quelle Tabellen als Datenmember.

Beispiele

Im folgenden Codebeispiel werden ein DataSet, eine DataTable und ein ListObject erstellt.Anschließend wird das ListObject an das DataSet und die DataTable gebunden. Dabei wird jedoch nur eine der beiden möglichen Spalten in das ListObject eingeschlossen.

Dieses Beispiel bezieht sich auf eine Anpassung auf Dokumentebene.

    Private Sub ListObject_SetDataBinding3()
        Dim Ages As Integer() = {32, 44, 28, 61}
        Dim Names As String() = {"Reggie", "Sally", _
            "Henry", "Christine"}

        ' Create a data table with two columns.
        Dim ds As New DataSet()
        Dim table As DataTable = ds.Tables.Add("Customers")
        Dim column1 As New DataColumn("Names", GetType(String))
        Dim column2 As New DataColumn("Ages", GetType(Integer))
        table.Columns.Add(column1)
        table.Columns.Add(column2)

        ' Add the four rows of data to the table.
        Dim row As DataRow
        Dim i As Integer
        For i = 0 To 3
            row = table.NewRow()
            row("Names") = Names(i)
            row("Ages") = Ages(i)
            table.Rows.Add(row)
        Next i

        ' Create the list object.
        Dim List1 As Microsoft.Office.Tools.Excel.ListObject = _
            Me.Controls.AddListObject(Me.Range("A1", "B4"), "List1")

        ' Bind the list object to the table.
        Dim mappedColumn As String() = {"Names"}
        List1.SetDataBinding(ds, "Customers", mappedColumn)

    End Sub

private void ListObject_SetDataBinding3()
{
    int[] Ages = { 32, 44, 28, 61 };
    string[] Names = { "Reggie", "Sally", "Henry", "Christine" };

    // Create a data table with two columns.
    DataSet ds = new DataSet();
    DataTable table = ds.Tables.Add("Customers");
    DataColumn column1 = new DataColumn("Names", typeof(string));
    DataColumn column2 = new DataColumn("Ages", typeof(int));
    table.Columns.Add(column1);
    table.Columns.Add(column2);

    // Add the four rows of data to the table.
    DataRow row;
    for (int i = 0; i < 4; i++)
    {
        row = table.NewRow();
        row["Names"] = Names[i];
        row["Ages"] = Ages[i];
        table.Rows.Add(row);
    }

    Microsoft.Office.Tools.Excel.ListObject list1 =
        this.Controls.AddListObject(this.Range["A1", "B4"], "list1");

    // Bind the list object to the table.
    string[] mappedColumn = { "Names" };
    list1.SetDataBinding(ds, "Customers", mappedColumn);
}

.NET Framework-Sicherheit

Siehe auch

Referenz

ListObject Schnittstelle

SetDataBinding-Überladung

Microsoft.Office.Tools.Excel-Namespace