次の方法で共有


ListObject.SetDataBinding メソッド (Object, String, array<String )

ListObject コントロールをデータ ソースの指定のデータ メンバーにバインドし、そのデータ メンバーの指定の列のみを表示します。

名前空間:  Microsoft.Office.Tools.Excel
アセンブリ:  Microsoft.Office.Tools.Excel (Microsoft.Office.Tools.Excel.dll 内)

構文

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

パラメーター

  • dataSource
    型 : System.Object
    ListObject コントロールのデータ ソースとして使用するオブジェクト。
  • mappedColumns
    型 : array<System.String[]
    ListObject コントロールに表示する、データ メンバー内の列の名前。マップされていない列を追加する場合は配列に空の文字列を含めます。

例外

例外 条件
SetDataBindingFailedException

指定されたデータ ソースにバインドできませんでした。

ArgumentException

1 つ以上の引数が無効です。

ArgumentNullException

dataSource 引数が nullnull 参照 (Visual Basic では Nothing) です。

解説

dataSource パラメーターとしては、IListIListSourceIBindingList、または IEnumerable を実装したオブジェクトを使用できます。

dataMember パラメーターは、バインドできるコレクションを返す、データ ソースのプロパティである必要があります。たとえば、DataSet ソースのデータ メンバーとしてテーブルがあります。

次のコード例は、DataSetDataTable、および ListObject を作成します。ListObjectDataSet および DataTable にバインドし、ただし、テーブルの 2 つの列のうち、1 つの列のみを ListObject に含めます。

この例は、ドキュメント レベルのカスタマイズ用に作成されています。

    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 セキュリティ

  • 直前の呼び出し元に対する完全な信頼。このメンバーは、部分的に信頼されているコードから使用することはできません。詳細については、「部分信頼コードからのライブラリの使用」を参照してください。

参照

関連項目

ListObject インターフェイス

SetDataBinding オーバーロード

Microsoft.Office.Tools.Excel 名前空間