Megosztás a következőn keresztül:


Útmutató: A Windows Forms DataGrid-vezérlő kötése adatforráshoz

Megjegyzés:

A DataGridView vezérlő lecseréli és hozzáadja a funkciót a DataGrid vezérlőelemhez; A DataGrid vezérlőelem azonban megmarad a visszamenőleges kompatibilitás és a jövőbeli használat érdekében is, ha úgy dönt. További információ: Különbségek a Windows Forms DataGridView és a DataGrid Controlsközött.

A Windows Forms DataGrid vezérlő kifejezetten adatforrásból származó információk megjelenítésére szolgál. A vezérlőt futásidőben kötheti össze a SetDataBinding metódus meghívásával. Bár számos adatforrásból jeleníthet meg adatokat, a leggyakoribb források az adathalmazok és az adatnézetek.

A DataGrid-vezérlő programozott módon történő adatkötése

  1. Írjon kódot az adathalmaz kitöltéséhez.

    Ha az adatforrás adathalmaz vagy adathalmaztáblán alapuló adatnézet, adjon hozzá kódot az űrlaphoz az adathalmaz kitöltéséhez.

    A pontosan használt kód attól függ, hogy az adathalmaz honnan szerzi be az adatokat. Ha az adathalmazt közvetlenül egy adatbázisból tölti ki, akkor általában az adatadapter Fill metódusát hívja meg, ahogyan az alábbi példában is látható, amely feltölt egy DsCategories1nevű adathalmazt:

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

    Ha egy XML-webszolgáltatásból tölti ki az adathalmazt, általában a szolgáltatás egy példányát hozza létre a kódban, majd meghívja annak egyik metódusát egy adathalmaz visszaadásához. Ezután egyesítheti az adathalmazt az XML-webszolgáltatásból a helyi adatkészletbe. Az alábbi példa bemutatja, hogyan hozhat létre egy CategoriesServicenevű XML-webszolgáltatás egy példányát, meghívhatja annak GetCategories metódusát, és egyesítheti az eredményül kapott adathalmazt egy DsCategories1nevű helyi adatkészletbe:

    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. Hívja meg a DataGrid vezérlő SetDataBinding metódusát, és adja át az adatforrást és egy adattagot. Ha nem szükséges explicit módon átadnia egy adattagot, adjon át egy üres karakterláncot.

    Megjegyzés:

    Ha először köti be a rácsot, beállíthatja a vezérlő DataSource és DataMember tulajdonságait. Ezeket a tulajdonságokat azonban nem állíthatja vissza a beállításuk után. Ezért javasoljuk, hogy mindig a SetDataBinding metódust használja.

    Az alábbi példa bemutatja, hogyan köthet programozott módon az Ügyfelek táblához egy DsCustomers1nevű adatkészletben:

    DataGrid1.SetDataBinding(DsCustomers1, "Customers")
    
    DataGrid1.SetDataBinding(DsCustomers1, "Customers");
    
    dataGrid1->SetDataBinding(dsCustomers1, "Customers");
    

    Ha az adathalmazban az Ügyfelek tábla az egyetlen tábla, a rácsot a következő módon kötheti össze:

    DataGrid1.SetDataBinding(DsCustomers1, "")
    
    DataGrid1.SetDataBinding(DsCustomers1, "");
    
    dataGrid1->SetDataBinding(dsCustomers1, "");
    
  3. (Nem kötelező) Adja hozzá a megfelelő táblázatstílusokat és oszlopstílusokat a rácshoz. Ha nincsenek táblázatstílusok, látni fogja a táblázatot, de minimális formázással és az összes oszlop látható.

Lásd még