DataGrid.DataSource 属性
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
获取或设置网格所显示数据的数据源。
public:
property System::Object ^ DataSource { System::Object ^ get(); void set(System::Object ^ value); };
[System.ComponentModel.TypeConverter("System.Windows.Forms.Design.DataSourceConverter, System.Design, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a")]
public object DataSource { get; set; }
public object DataSource { get; set; }
[<System.ComponentModel.TypeConverter("System.Windows.Forms.Design.DataSourceConverter, System.Design, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a")>]
member this.DataSource : obj with get, set
member this.DataSource : obj with get, set
Public Property DataSource As Object
属性值
作为数据源的对象。
- 属性
示例
下面的代码示例演示如何设置DataSource绑定到 a 和 a System.Windows.Forms.DataGrid 和 a DataView DataSet的,以及根据需要DataMember设置。 该示例还演示如何从中 System.Windows.Forms.DataGrid返回数据源。
private:
void BindToDataView( DataGrid^ myGrid )
{
// Create a DataView using the DataTable.
DataTable^ myTable = gcnew DataTable( "Suppliers" );
// Insert code to create and populate columns.
DataView^ myDataView = gcnew DataView( myTable );
myGrid->DataSource = myDataView;
}
void BindToDataSet( DataGrid^ myGrid )
{
// Create a DataSet.
DataSet^ myDataSet = gcnew DataSet( "myDataSet" );
// Insert code to populate DataSet with several tables.
myGrid->DataSource = myDataSet;
// Use the DataMember property to specify the DataTable.
myGrid->DataMember = "Suppliers";
}
DataView^ GetDataViewFromDataSource()
{
// Create a DataTable variable, and set it to the DataSource.
DataView^ myDataView;
myDataView = (DataView^)(dataGrid1->DataSource);
return myDataView;
}
DataSet^ GetDataSetFromDataSource()
{
// Create a DataSet variable, and set it to the DataSource.
DataSet^ myDataSet;
myDataSet = (DataSet^)(dataGrid1->DataSource);
return myDataSet;
}
private void BindToDataView(DataGrid myGrid){
// Create a DataView using the DataTable.
DataTable myTable = new DataTable("Suppliers");
// Insert code to create and populate columns.
DataView myDataView = new DataView(myTable);
myGrid.DataSource = myDataView;
}
private void BindToDataSet(DataGrid myGrid){
// Create a DataSet.
DataSet myDataSet = new DataSet("myDataSet");
// Insert code to populate DataSet with several tables.
myGrid.DataSource = myDataSet;
// Use the DataMember property to specify the DataTable.
myGrid.DataMember = "Suppliers";
}
private DataView GetDataViewFromDataSource(){
// Create a DataTable variable, and set it to the DataSource.
DataView myDataView;
myDataView = (DataView) dataGrid1.DataSource;
return myDataView;
}
private DataSet GetDataSetFromDataSource(){
// Create a DataSet variable, and set it to the DataSource.
DataSet myDataSet;
myDataSet = (DataSet) dataGrid1.DataSource;
return myDataSet;
}
Private Sub BindToDataView(myGrid As DataGrid)
' Create a DataView using the DataTable.
Dim myTable As New DataTable("Suppliers")
' Insert code to create and populate columns.
Dim myDatatView As New DataView(myTable)
myGrid.DataSource = myDatatView
End Sub
Private Sub BindToDataSet(myGrid As DataGrid)
' Create a DataSet.
Dim myDataSet As New DataSet("myDataSet")
' Insert code to populate DataSet with several tables.
myGrid.DataSource = myDataSet
' Use the DataMember property to specify the DataTable.
myGrid.DataMember = "Suppliers"
End Sub
Private Function GetDataViewFromDataSource() As DataView
' Create a DataTable variable, and set it to the DataSource.
Dim myDatatView As DataView
myDatatView = CType(dataGrid1.DataSource, DataView)
Return myDatatView
End Function 'GetDataViewFromDataSource
Private Function GetDataSetFromDataSource() As DataSet
' Create a DataSet variable, and set it to the DataSource.
Dim myDataSet As DataSet
myDataSet = CType(dataGrid1.DataSource, DataSet)
Return myDataSet
End Function 'GetDataSetFromDataSource
注解
在运行时,使用 SetDataBinding 该方法设置 DataSource 和 DataMember 属性。
以下数据源有效:
一个 DataTable
一个 DataView
一个 DataSet
实现 IListSource 接口的任何组件
实现 IList 接口的任何组件
Binding有关数据源的详细信息,请参阅类概述。
DataSource如果引用包含多个表,则必须将属性设置为DataMember指定要绑定到的表的字符串。 例如,如果DataSource它是一个或包含三个名为DataSetDataViewManager的Orders
表Customers
,并且OrderDetails
必须指定要绑定到的表。
将 DataSource 对象设置为不实现 IList 接口或 IListSource 将导致网格引发异常的对象。
可以创建一个网格,使用户能够编辑数据,但阻止用户通过使用DataView数据源和将属性false
设置为AddNew新行来添加新行。
若要绑定到 DataGrid 强类型对象数组,对象类型必须包含公共属性。 若要创建 DataGridTableStyle 显示数组的属性,请将 DataGridTableStyle.MappingName 属性设置为 typename
对象 typename
类型的名称替换的位置。 另请注意,该 MappingName 属性区分大小写;类型名称必须完全匹配。 有关示例, MappingName 请参阅该属性。
还可以绑定到 DataGrid .ArrayList 其特征 ArrayList 是它可以包含多个类型的对象,但 DataGrid 当列表中的所有项的类型与第一项相同时,它只能绑定到此类列表。 这意味着所有对象必须具有相同的类型,或者它们必须继承自列表中第一项的同一类。 例如,如果列表中的第一项为 a Control,则第二项可能是 TextBox 继承自 Control) 的 (。 另一方面,如果第一项是一个,第二个TextBox对象不能是。Control 此外,绑定 ArrayList 项时必须包含项。 空 ArrayList 将导致空网格。 此外,这些对象 ArrayList 必须包含公共属性。 绑定到 a ArrayList时,将MappingNameDataGridTableStyle“ArrayList”设置为“arrayList” (类型名称) 。