日期:2014-05-19  浏览次数:20409 次

置疑net1.1的帮助文档的DataGrid.DataSource
按着文档上所说,应该可以得到DataGrid的DataSource,我用DataView,DataSet都取不到数据?为何

ms-help://MS.NETFrameworkSDKv1.1.CHS/cpref/html/frlrfSystemWindowsFormsDataGridClassDataSourceTopic.htm


DataGrid.DataSource   属性     [C#]请参见
DataGrid   类   |   DataGrid   成员   |   System.Windows.Forms   命名空间   |   DataMember   |   DataSet   |   DataViewManager   |   DataView   |   DataGrid   成员(Visual   J#   语法)   |   C++   托管扩展编程  
要求
平台:   Windows   98,   Windows   NT   4.0,   Windows   ME,   Windows   2000,   Windows   XP   Home   Edition,   Windows   XP   Professional,   Windows   Server   2003   系列,   .NET   Framework   精简版   -   Windows   CE   .NET
语言
C#

C++

JScript

Visual   Basic

全部显示
获取或设置网格所显示数据的数据源。

[Visual   Basic]
Public   Property   DataSource   As   Object

[C#]
public   object   DataSource   {get;   set;}

[C++]
public:   __property   Object*   get_DataSource();
public:   __property   void   set_DataSource(Object*);

[JScript]
public   function   get   DataSource()   :   Object;
public   function   set   DataSource(Object);

属性值
作为数据源的对象。

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

下列数据源有效:  

DataTable  
DataView  
DataSet  
DataViewManager  
任何实现   IListSource   接口的组件  
任何实现   IList   接口的组件  
有关数据源的更多信息,请参见   Binding   类的概述。

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

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

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

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

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

示例
[Visual   Basic,   C#]   下面的示例显示如何设置   DataSource   和   DataMember(需要时),以便将   System.Windows.Forms.DataGrid   同时绑定到   DataView   和   DataSet。该示例还显示如何从   System.Windows.Forms.DataGrid   返回数据源。

[Visual   Basic]  
Private   Sub   BindToDataView(myGrid   As   DataGrid)
        '   Create   a   DataView   using   the   DataTable.
        Dim   myTa