如何:將 Windows Form DataGrid 控制項繫結至資料來源
注意
DataGridView 控制項會取代 DataGrid 控制項並加入其他功能,不過您也可以選擇保留 DataGrid 控制項,以提供回溯相容性及未來使用。 如需詳細資訊,請參閱 Windows Forms DataGridView 和 DataGrid 控制項之間的差異。
Windows Forms 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, "");
(選擇性)將適當的表格樣式和資料行樣式新增至方格。 如果沒有表格樣式,您會看到表格,但格式最少,且所有資料行都可見。
另請參閱
意見反應
https://aka.ms/ContentUserFeedback。
即將登場:在 2024 年,我們將逐步淘汰 GitHub 問題作為內容的意見反應機制,並將它取代為新的意見反應系統。 如需詳細資訊,請參閱:提交並檢視相關的意見反應