Share via


Metodo ListObject.SetDataBinding (Object, String, array<String[])

Associa un controllo ListObject a un membro dati specificato di un'origine dati e visualizza solo le colonne specificate di tale membro.

Spazio dei nomi:  Microsoft.Office.Tools.Excel
Assembly:  Microsoft.Office.Tools.Excel (in Microsoft.Office.Tools.Excel.dll)

Sintassi

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

Parametri

  • mappedColumns
    Tipo: array<System.String[]
    Nomi di colonne del membro dati che si desidera visualizzare nel controllo ListObject.Per aggiungere una colonna non mappata, includere una stringa vuota nella matrice.

Eccezioni

Eccezione Condizione
SetDataBindingFailedException

Impossibile eseguire l'associazione all'origine dati specificata.

ArgumentException

Uno o più argomenti non sono validi.

ArgumentNullException

L'argomento dataSource è nullriferimento null (Nothing in Visual Basic).

Note

Il parametro dataSource può essere qualsiasi oggetto che implementa IList, IListSource, IBindingList o IEnumerable.

Il parametro dataMember deve essere una proprietà dell'origine dati che restituisce una raccolta associabile. I membri dati di un'origine DataSet sono ad esempio rappresentati da tabelle.

Esempi

Nell'esempio di codice riportato di seguito vengono creati un oggetto DataSet, un oggetto DataTable e un controllo ListObject. Il controllo ListObject viene quindi associato agli oggetti DataSet e DataTable. Nel controllo ListObject viene tuttavia inclusa una sola delle due possibili colonne di tabella.

Questo esempio è valido per una personalizzazione a livello di 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);
}

Sicurezza di .NET Framework

Vedere anche

Riferimenti

ListObject Interfaccia

Overload SetDataBinding

Spazio dei nomi Microsoft.Office.Tools.Excel