注释
DataGridView 控件替换并添加 DataGrid 控件的功能;但是,如果选择,则保留 DataGrid 控件以实现后向兼容性和将来使用。 有关详细信息,请参阅 Windows 窗体 DataGridView 控件与 DataGrid 控件之间的区别。
Windows 窗体 DataGrid 控件专门用于显示数据源中的信息。 在运行时,您可以通过调用SetDataBinding方法来绑定控件。 虽然可以从各种数据源显示数据,但最典型的源是数据集和数据视图。
以编程方式进行数据绑定 DataGrid 控件
编写代码以填充数据集。
如果数据源是基于数据集表的数据集或数据视图,请将代码添加到表单以填充数据集。
使用的确切代码取决于数据集获取数据的位置。 如果数据集是直接从数据库中填充的,通常会调用数据适配器的
Fill
方法,如以下示例中所示,通过该方法填充一个名为DsCategories1
的数据集:sqlDataAdapter1.Fill(DsCategories1)
sqlDataAdapter1.Fill(DsCategories1);
sqlDataAdapter1->Fill(dsCategories1);
如果数据集是从 XML Web 服务填充的,通常会在代码中创建服务的实例,然后调用其中一种方法来返回数据集。 然后,将 XML Web 服务中的数据集合并到本地数据集中。 以下示例演示如何创建一
CategoriesService
个名为 XML Web 服务的实例、调用其GetCategories
方法并将生成的数据集合并到名为DsCategories1
的本地数据集:Dim ws As New MyProject.localhost.CategoriesService() ws.Credentials = System.Net.CredentialCache.DefaultCredentials DsCategories1.Merge(ws.GetCategories())
MyProject.localhost.CategoriesService ws = new MyProject.localhost.CategoriesService(); ws.Credentials = System.Net.CredentialCache.DefaultCredentials; DsCategories1.Merge(ws.GetCategories());
MyProject::localhost::CategoriesService^ ws = new MyProject::localhost::CategoriesService(); ws->Credentials = System::Net::CredentialCache::DefaultCredentials; dsCategories1->Merge(ws->GetCategories());
DataGrid调用控件SetDataBinding的方法,向其传递数据源和数据成员。 如果不需要显式传递数据成员,请传递空字符串。
注释
如果首次绑定网格,可以设置控件 DataSource 和 DataMember 属性。 但是,设置这些属性后,无法重置这些属性。 因此,建议始终使用 SetDataBinding 该方法。
以下示例演示如何通过编程绑定到名为
DsCustomers1
的数据集中的 Customers 表。DataGrid1.SetDataBinding(DsCustomers1, "Customers")
DataGrid1.SetDataBinding(DsCustomers1, "Customers");
dataGrid1->SetDataBinding(dsCustomers1, "Customers");
如果 Customers 表是数据集中唯一的表,则可以以这种方式绑定网格:
DataGrid1.SetDataBinding(DsCustomers1, "")
DataGrid1.SetDataBinding(DsCustomers1, "");
dataGrid1->SetDataBinding(dsCustomers1, "");
(可选)将相应的表格样式和列样式添加到网格。 如果没有表格样式,你将看到表格,但格式最小,并且所有列都可见。