Porady: powiązywanie formantu DataGrid formularzy systemu Windows ze źródłem danych
Uwaga
Kontrolka DataGridView zastępuje i dodaje funkcje do DataGrid kontrolki, jednak kontrolka DataGrid jest zachowywana zarówno w celu zapewnienia zgodności z poprzednimi wersjami, jak i użycia w przyszłości, jeśli wybierzesz. Aby uzyskać więcej informacji, zobacz Różnice między kontrolkami DataGridView i DataGrid formularzy systemu Windows.
Kontrolka Formularze DataGrid systemu Windows została specjalnie zaprojektowana do wyświetlania informacji ze źródła danych. Kontrolkę należy powiązać w czasie wykonywania, wywołując metodę SetDataBinding . Chociaż można wyświetlać dane z różnych źródeł danych, najbardziej typowe źródła to zestawy danych i widoki danych.
Aby powiązać dane kontrolki DataGrid programowo
Napisz kod, aby wypełnić zestaw danych.
Jeśli źródłem danych jest zestaw danych lub widok danych oparty na tabeli zestawu danych, dodaj kod do formularza, aby wypełnić zestaw danych.
Dokładny używany kod zależy od tego, gdzie zestaw danych uzyskuje dane. Jeśli zestaw danych jest wypełniany bezpośrednio z bazy danych, zazwyczaj wywołujesz
Fill
metodę karty danych, jak w poniższym przykładzie, który wypełnia zestaw danych o nazwieDsCategories1
:sqlDataAdapter1.Fill(DsCategories1)
sqlDataAdapter1.Fill(DsCategories1);
sqlDataAdapter1->Fill(dsCategories1);
Jeśli zestaw danych jest wypełniany z usługi sieci Web XML, zazwyczaj utworzysz wystąpienie usługi w kodzie, a następnie wywołaj jedną z jego metod, aby zwrócić zestaw danych. Następnie scalisz zestaw danych z usługi sieci Web XML do lokalnego zestawu danych. W poniższym przykładzie pokazano, jak utworzyć wystąpienie usługi sieci Web XML o nazwie , wywołać jej
GetCategories
metodę i scalić wynikowy zestaw danych z lokalnym zestawem danych o nazwie :CategoriesService
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());
Wywołaj metodę DataGrid kontrolki SetDataBinding , przekazując ją do źródła danych i elementu członkowskiego danych. Jeśli nie musisz jawnie przekazywać elementu członkowskiego danych, przekaż pusty ciąg.
Uwaga
Jeśli po raz pierwszy powiąższ siatkę, możesz ustawić właściwości i DataMember kontrolkiDataSource. Nie można jednak zresetować tych właściwości po ich ustawieniu. Dlatego zaleca się, aby zawsze używać SetDataBinding metody .
W poniższym przykładzie pokazano, jak programowo powiązać tabelę Customers w zestawie danych o nazwie
DsCustomers1
:DataGrid1.SetDataBinding(DsCustomers1, "Customers")
DataGrid1.SetDataBinding(DsCustomers1, "Customers");
dataGrid1->SetDataBinding(dsCustomers1, "Customers");
Jeśli tabela Customers jest jedyną tabelą w zestawie danych, możesz też powiązać siatkę w następujący sposób:
DataGrid1.SetDataBinding(DsCustomers1, "")
DataGrid1.SetDataBinding(DsCustomers1, "");
dataGrid1->SetDataBinding(dsCustomers1, "");
(Opcjonalnie) Dodaj odpowiednie style tabeli i style kolumn do siatki. Jeśli nie ma stylów tabeli, zobaczysz tabelę, ale z minimalnym formatowaniem i widocznymi wszystkimi kolumnami.
Zobacz też
.NET Desktop feedback