Udostępnij za pomocą


Instrukcje: wiązanie kontrolki DataGrid formularzy systemu Windows ze źródłem danych

Uwaga / Notatka

Kontrolka DataGridView zastępuje i dodaje funkcje do kontrolki DataGrid; jednak kontrolka DataGrid jest zachowywana w celu zachowania zgodności z poprzednimi wersjami i użycia w przyszłości, jeśli wybierzesz. Aby uzyskać więcej informacji, zobacz Różnice między kontrolkami formularzy systemu Windows DataGridView i DataGrid.

Kontrolka windows Forms DataGrid została zaprojektowana specjalnie do wyświetlania informacji ze źródła danych. Kontrolkę wiążesz podczas działania, 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 z kontrolką DataGrid metodą programistyczną

  1. 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 metodę Fill adaptera danych, jak w poniższym przykładzie, który wypełnia zestaw danych o nazwie DsCategories1.

    sqlDataAdapter1.Fill(DsCategories1)
    
    sqlDataAdapter1.Fill(DsCategories1);
    
    sqlDataAdapter1->Fill(dsCategories1);
    

    Jeśli zestaw danych jest wypełniany z usługi sieci Web XML, zazwyczaj tworzysz instancję usługi w kodzie, a następnie wywołujesz jedną z jej metod, aby zwrócić zestaw danych. Następnie łączysz zestaw danych z usługi sieciowej XML z lokalnym zestawem danych. W poniższym przykładzie pokazano, jak utworzyć wystąpienie usługi sieci Web XML o nazwie CategoriesService, wywołać metodę GetCategories i scalić wynikowy zestaw danych z lokalnym zestawem danych o nazwie 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());
    
  2. Wywołaj metodę DataGrid kontrolki SetDataBinding, przekazując jej źródło danych i element członkowski danych. Jeśli nie musisz jawnie przekazywać składnika danych, przekaż pusty ciąg.

    Uwaga / Notatka

    Jeśli po raz pierwszy powiążesz siatkę, możesz ustawić właściwości DataSource i DataMember kontrolki. Nie można jednak zresetować tych właściwości po ich ustawieniu. Dlatego zaleca się, aby zawsze używać metody SetDataBinding.

    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, "");
    
  3. (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 także