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

  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 Fill metodę karty 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 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 :CategoriesServiceDsCategories1

    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 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, "");  
    
  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 też