ListObject.DataSource プロパティ
コントロール内の各項目に入る値一式のソースを取得または設定します。
名前空間: Microsoft.Office.Tools.Excel
アセンブリ: Microsoft.Office.Tools.Excel (Microsoft.Office.Tools.Excel.dll 内)
構文
'宣言
Property DataSource As Object
Object DataSource { get; set; }
プロパティ値
型 : System.Object
コントロール内の各項目に入る値一式のソース。既定値 nullnull 参照 (Visual Basic では Nothing) です。
解説
実行時に DataSource プロパティおよび DataMember プロパティを設定するには、SetDataBinding メソッドを使用します。
有効なデータ ソースを以下に示します。
IListSource インターフェイスを実装するコンポーネント。
IList インターフェイスを実装するコンポーネント。
データ ソースの詳細については、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"], "Customers");
// Bind the list object to the Customers table.
list1.AutoSetDataBoundColumnHeaders = true;
list1.DataSource = ordersDataSet;
list1.DataMember = "Customers";
}
.NET Framework セキュリティ
- 直前の呼び出し元に対する完全な信頼。このメンバーは、部分的に信頼されているコードから使用することはできません。詳細については、「部分信頼コードからのライブラリの使用」を参照してください。