Поделиться через


ListObject.SetDataBinding Method (Object)

Binds a ListObject control to 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 _
)
void SetDataBinding(
    Object dataSource
)

Parameters

Exceptions

Exception Condition
SetDataBindingFailedException

Could not bind to the specified data source.

ArgumentException

The argument is 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, such as a DataTable or a one-dimensional array.

Examples

The following code example demonstrates how to use the SetDataBinding method to bind a ListObject to a DataTable. The DataTable contains two columns, which contain the names and ages of employees, and four rows that represent employee entries.

This example is for a document-level customization.

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

        ' Create a data table with two columns.
        Dim table = New DataTable()
        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

        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(table)

    End Sub

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

    // Create a data table with two columns.
    System.Data.DataTable table = new DataTable();
    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(table);
}

.NET Framework Security

See Also

Reference

ListObject Interface

SetDataBinding Overload

Microsoft.Office.Tools.Excel Namespace