Dela via


ListObject.SetDataBinding Method (Object, String)

Binds a ListObject control to a specified data member of a data source.

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 _
)
void SetDataBinding(
    Object dataSource,
    string dataMember
)

Parameters

Exceptions

Exception Condition
SetDataBindingFailedException

Could not bind to the specified data source.

ArgumentException

One or more of the arguments are invalid.

ArgumentNullException

The dataSource argument is nulla null reference (Nothing in Visual Basic).

Remarks

The data source can be any object that implements IList, IListSource, IBindingList, or IEnumerable.

The data member must be a property of the data source that returns a bindable collection. For example, a DataSet source has tables as data members.

Examples

The following code example creates a DataSet, a DataTable, and a ListObject. It then binds the list object to the DataSet and the DataTable.

This example is for a document-level customization.

    Private Sub ListObject_SetDataBinding2()
        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.
        List1.SetDataBinding(ds, "Customers")

    End Sub

private void ListObject_SetDataBinding2()
{
    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.
    list1.SetDataBinding(ds, "Customers");
}

.NET Framework Security

See Also

Reference

ListObject Interface

SetDataBinding Overload

Microsoft.Office.Tools.Excel Namespace