Condividi tramite


Procedura: Collegare il controllo DataGrid di Windows Forms a un'origine dati

Annotazioni

Il controllo DataGridView sostituisce e aggiunge funzionalità al controllo DataGrid; Tuttavia, il controllo DataGrid viene mantenuto sia per la compatibilità con le versioni precedenti che per l'uso futuro, se si sceglie. Per altre informazioni, vedere "Differenze tra i controlli DataGridView e DataGrid di Windows Forms" .

Il controllo Windows Forms DataGrid è progettato specificamente per visualizzare informazioni da un'origine dati. Colleghi il controllo in fase di esecuzione chiamando il metodo SetDataBinding. Sebbene sia possibile visualizzare i dati da un'ampia varietà di fonti dati, le fonti più tipiche sono i set di dati e le viste di dati.

Per associare dati al controllo DataGrid programmando

  1. Scrivere codice per riempire il set di dati.

    Se l'origine dati è un set di dati o una vista dei dati basata su una tabella del set di dati, aggiungere codice al modulo per riempire il set di dati.

    Il codice esatto usato dipende dalla posizione in cui il set di dati sta recuperando i dati. Se il set di dati viene popolato direttamente da un database, in genere si chiama il metodo Fill di un adattatore dati, come nell'esempio seguente, che popola un set di dati denominato DsCategories1:

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

    Se il set di dati viene compilato da un servizio Web XML, in genere si crea un'istanza del servizio nel codice e quindi si chiama uno dei relativi metodi per restituire un set di dati. Si unisce quindi il set di dati dal servizio Web XML al set di dati locale. Nell'esempio seguente viene illustrato come creare un'istanza di un servizio Web XML denominato CategoriesService, chiamare il relativo metodo GetCategories e unire il set di dati risultante in un set di dati locale denominato 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. Chiamare il metodo DataGrid del controllo SetDataBinding, fornendo l'origine dati e un membro dei dati. Se non è necessario passare in modo esplicito un membro dati, passa una stringa vuota.

    Annotazioni

    Se si associa la griglia per la prima volta, è possibile impostare le proprietà DataSource e DataMember del controllo. Tuttavia, non è possibile reimpostare queste proprietà dopo che sono state impostate. È quindi consigliabile usare sempre il metodo SetDataBinding.

    Nell'esempio seguente viene illustrato come eseguire l'associazione a livello di codice alla tabella Customers in un set di dati denominato DsCustomers1:

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

    Se la tabella Customers è l'unica tabella nel set di dati, in alternativa è possibile associare la griglia in questo modo:

    DataGrid1.SetDataBinding(DsCustomers1, "")
    
    DataGrid1.SetDataBinding(DsCustomers1, "");
    
    dataGrid1->SetDataBinding(dsCustomers1, "");
    
  3. (Facoltativo) Aggiungere gli stili di tabella e di colonna appropriati alla griglia. Se non sono presenti stili di tabella, verrà visualizzata la tabella, ma con formattazione minima e con tutte le colonne visibili.

Vedere anche