ListObject.SetDataBinding (Método) (Object, String, array<String )

Enlaza un control ListObject a un miembro de datos especificado de un origen de datos y muestra sólo las columnas especificadas de ese miembro de datos.

Espacio de nombres:  Microsoft.Office.Tools.Excel
Ensamblado:  Microsoft.Office.Tools.Excel (en Microsoft.Office.Tools.Excel.dll)

Sintaxis

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

Parámetros

  • mappedColumns
    Tipo: array<System.String[]
    Los nombres de las columnas del miembro de datos que desee mostrar en el control ListObject.Para agregar una columna no asignada, incluya una cadena vacía en la matriz.

Excepciones

Excepción Condición
SetDataBindingFailedException

No se pudo enlazar al origen de datos especificado.

ArgumentException

Uno o varios argumentos no son válidos.

ArgumentNullException

El argumento dataSource es nullreferencia null (Nothing en Visual Basic).

Comentarios

El parámetro dataSource puede ser cualquier objeto que implemente IList, IListSource, IBindingList o IEnumerable.

El parámetro dataMember debe ser una propiedad del origen de datos que devuelva una colección enlazable. Por ejemplo, un origen DataSet tiene tablas como miembros de datos.

Ejemplos

En el siguiente ejemplo de código se crea un objeto DataSet, un DataTable y un ListObject. Luego enlaza ListObject a DataSet y DataTable, pero sólo incluye una de las dos columnas posibles de la tabla de ListObject.

Se trata de un ejemplo para una personalización en el nivel del documento.

    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);
}

Seguridad de .NET Framework

Vea también

Referencia

ListObject Interfaz

SetDataBinding (Sobrecarga)

Microsoft.Office.Tools.Excel (Espacio de nombres)