DataGrid.DataSource能接收哪些类型的对象?Accept

    技术2026-01-12  0

    在运行时使用 SetDataBinding 方法来设置 DataSource DataMember 属性。

    下列数据源有效:

    l         DataTable

    l         DataView

    l         DataSet

    l         DataViewManager

    l         任何实现 IListSource 接口的组件

    l         任何实现 IList 接口的组件

     

    如果 DataSource 引用包含的表不止一个,则必须向 DataMember 属性设置一个字符串,该字符串指定要绑定到的表。例如,如果 DataSource 为包含名为 CustomersOrders OrderDetails 三个表的 DataSet DataViewManager,则必须指定要绑定的表。

    DataSource 设置为一个不实现 IList 接口的对象或者一个 IListSource 会导致网格发生异常。

    通过将 DataView 用作数据源并将 AddNew 属性设置为 false,可以创建网格,该网格允许用户编辑数据但阻止他们添加新行。

    要将 DataGrid 绑定到对象的强类型数组,该对象必须包含公共属性。要创建显示这类数组的 DataGridTableStyle,请将 MappingName 属性设置为 classname[],其中 classname 将被类名替换。另外还要注意 MappingName 属性须区分大小写。

    也可以将 DataGrid 绑定到 ArrayListArrayList 的一个功能是它可以包含多种类型的对象,但当列表中的所有项与第一项具有相同的类型时,DataGrid 只能绑定到这类列表。这意味着所有的对象必须是同一种类型,或者必须从与列表中第一项相同的类继承。例如,如果列表中的第一项为 Control,则第二项可能为 TextBox(它从 Control 继承)。另一方面,如果第一项为 TextBox,则第二个对象就不可能是 Control。此外,ArrayList 在绑定时必须包含项目。空 ArrayList 会导致空网格。当绑定到 ArrayList 时,请将 DataGridTableStyle MappingName 设置为“ArrayList”(类型名)。

    最新回复(0)