如何:使用设计器将 Windows 窗体 DataGrid 控件绑定到数据源

注意

DataGridView 控件取代了 DataGrid 控件并添加了功能;但是,可以选择保留 DataGrid 控件以实现向后兼容并供将来使用。 有关详细信息,请参阅 Windows 窗体 DataGridView 控件与 DataGrid 控件之间的区别

Windows 窗体 DataGrid 控件专门用于显示数据源中的信息。 可在设计时通过设置 DataSourceDataMember 属性来绑定控件,或者在运行时通过调用 SetDataBinding 方法来绑定控件。 尽管可显示来自各种数据源的数据,但最典型的源是数据集和数据视图。

如果数据源在设计时可用(例如,如果窗体包含数据集或数据视图的实例),则可在设计时将网格绑定到数据源。 然后,可预览数据在网格中的外观。

还可在运行时以编程方式绑定网格。 如果要根据运行时获取的信息设置数据源,这非常有用。 例如,应用程序可能允许用户指定要查看的表的名称。 在设计时数据源不存在的情况下,也有必要这样做。 这包括数组、集合、非类型化数据集和数据读取器等数据源。

下面的过程需要一个 Windows 应用程序项目,该项目的窗体需包含一个 DataGrid 控件。 若要了解如何设置此类项目,请参阅如何:创建 Windows 窗体应用程序项目如何:向 Windows 窗体添加控件。 在 Visual Studio 2005 中,DataGrid 控件默认不在“工具箱”中。 有关添加它的信息,请参阅如何:将项添加到工具箱。 此外,在 Visual Studio 2005 中,可使用“数据源”窗口进行设计时数据绑定。 有关详细信息,请参阅将控件绑定到 Visual Studio 中的数据

在设计器中将 DataGrid 控件数据绑定到单个表

  1. 将控件的 DataSource 属性设置为包含要绑定到的数据项的对象。

  2. 如果数据源是数据集,请将 DataMember 属性设置为要绑定到的表的名称。

  3. 如果数据源是基于数据集表的数据集或数据视图,请将代码添加到窗体以填充数据集。

    使用的确切代码取决于数据集获取数据的位置。 如果直接从数据库填充数据集,通常调用数据适配器的 Fill 方法,如以下代码示例所示,该示例填充名为 DsCategories1 的数据集:

    sqlDataAdapter1.Fill(DsCategories1)
    
    sqlDataAdapter1.Fill(DsCategories1);
    
    sqlDataAdapter1->Fill(dsCategories1);
    
  4. (可选)将适当的表格样式和列样式添加到网格中。

    如果没有表格样式,你将看到表格,但是格式很简单,所有列都是可见的。

在设计器中将 DataGrid 控件数据绑定到数据集中的多个表

  1. 将控件的 DataSource 属性设置为包含要绑定到的数据项的对象。

  2. 如果数据集包含相关表(即,如果它包含关系对象),请将 DataMember 属性设置为父表的名称。

  3. 编写代码以填充数据集。

另请参阅