次の方法で共有


ListObject.DataSource プロパティ (2007 System)

更新 : 2007 年 11 月

コントロール内の各項目に入る値一式のソースを取得または設定します。

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

構文

'宣言
Public Property DataSource As Object
'使用
Dim instance As ListObject
Dim value As Object

value = instance.DataSource

instance.DataSource = value
public Object DataSource { get; set; }

プロパティ値

型 : System.Object

コントロール内の各項目に入る値一式のソース。既定値は、nullnull 参照 (Visual Basic では Nothing) です。

解説

実行時に DataSource プロパティおよび DataMember プロパティを設定するには、SetDataBinding メソッドを使用します。

有効なデータ ソースを以下に示します。

データ ソースの詳細については、Binding クラスの概要を参照してください。

DataSource 参照に複数のテーブルまたはプロパティが含まれる場合は、バインドするテーブルを示す文字列を DataMember プロパティに設定する必要があります。たとえば、DataSource が、Customers、Orders、および OrderDetails という 3 つのテーブルを持つ DataSet または DataViewManager の場合、バインドするテーブルを指定する必要があります。

DataSource に、IList インターフェイスまたは IListSource を実装していないオブジェクトを設定すると、例外がスローされます。

次のコード例は、2 つの DataTable オブジェクトを持つ DataSet を作成し、そのうち 1 つのテーブルにデータを入力します。次に、ListObject の DataSource プロパティおよび DataMember プロパティを設定して、データが含まれている方のテーブルにバインドします。

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

Private Sub ListObject_DataSourceAndMember()
    ' Create a DataSet and two DataTables.
    Dim ordersDataSet As New DataSet("ordersDataSet")
    Dim tableCustomers As New DataTable("Customers")
    Dim tableProducts As New DataTable("Products")
    ordersDataSet.Tables.Add(tableCustomers)
    ordersDataSet.Tables.Add(tableProducts)

    ' Add a data to the Customers DataTable.
    tableCustomers.Columns.Add(New DataColumn("LastName"))
    tableCustomers.Columns.Add(New DataColumn("FirstName"))
    Dim dr As DataRow = tableCustomers.NewRow()
    dr("LastName") = "Chan"
    dr("FirstName") = "Gareth"
    tableCustomers.Rows.Add(dr)

    ' Create a list object.
    Dim List1 As Microsoft.Office.Tools.Excel.ListObject = _
        Me.Controls.AddListObject(Me.Range( _
        "A1"), "Customers")

    ' Bind the list object to the Customers table.
    List1.AutoSetDataBoundColumnHeaders = True
    List1.DataSource = ordersDataSet
    List1.DataMember = "Customers"

End Sub

private void ListObject_DataSourceAndMember()
{
    // Create a DataSet and two DataTables.
    DataSet ordersDataSet = new DataSet("ordersDataSet");
    DataTable tableCustomers = new DataTable("Customers");
    DataTable tableProducts = new DataTable("Products");
    ordersDataSet.Tables.Add(tableCustomers);
    ordersDataSet.Tables.Add(tableProducts);

    // Add a data to the Customers DataTable.
    tableCustomers.Columns.Add(new DataColumn("LastName"));
    tableCustomers.Columns.Add(new DataColumn("FirstName"));
    DataRow dr = tableCustomers.NewRow();
    dr["LastName"] = "Chan";
    dr["FirstName"] = "Gareth";
    tableCustomers.Rows.Add(dr);

    // Create a list object.
    Microsoft.Office.Tools.Excel.ListObject list1 = 
        this.Controls.AddListObject(
        this.Range["A1", missing], "Customers");

    // Bind the list object to the Customers table.
    list1.AutoSetDataBoundColumnHeaders = true;
    list1.DataSource = ordersDataSet;
    list1.DataMember = "Customers";
}

アクセス許可

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

参照

参照

ListObject クラス

ListObject メンバ

Microsoft.Office.Tools.Excel 名前空間