Procedura: associare il controllo DataGrid Windows Form a un'origine datiHow to: Bind the Windows Forms DataGrid Control to a Data Source

Nota

Benché il controllo DataGridView sostituisca il controllo DataGrid aggiungendovi funzionalità, il controllo DataGrid viene mantenuto per compatibilità con le versioni precedenti e per un eventuale uso futuro.The DataGridView control replaces and adds functionality to the DataGrid control; however, the DataGrid control is retained for both backward compatibility and future use, if you choose. Per altre informazioni, vedere Differenze tra i controlli DataGridView e DataGrid Windows Form.For more information, see Differences Between the Windows Forms DataGridView and DataGrid Controls.

Windows Form DataGrid controllo è progettato specificamente per visualizzare le informazioni da un'origine dati.The Windows Forms DataGrid control is specifically designed to display information from a data source. Associare il controllo in fase di esecuzione chiamando il SetDataBinding metodo.You bind the control at run time by calling the SetDataBinding method. Sebbene sia possibile visualizzare i dati da un'ampia gamma di origini dati, le cause più comuni sono i set di dati e le visualizzazioni dati.Although you can display data from a variety of data sources, the most typical sources are datasets and data views.

Per associare a livello di codice il controllo DataGridTo data-bind the DataGrid control programmatically

  1. Scrivere codice per riempire il set di dati.Write code to fill the dataset.

    Se l'origine dati è un set di dati o una vista di dati basato su una tabella di set di dati, aggiungere codice al form per riempire il set di dati.If the data source is a dataset or a data view based on a dataset table, add code to the form to fill the dataset.

    Il codice esatto che è utilizzare dipende in cui il set di dati Ottiene i dati.The exact code you use depends on where the dataset is getting data. Se il set di dati viene popolato direttamente da un database, si chiama in genere il Fill metodo di un adattatore di dati, come nell'esempio seguente, che popola un set di dati denominato DsCategories1:If the dataset is being populated directly from a database, you typically call the Fill method of a data adapter, as in the following example, which populates a dataset called DsCategories1:

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

    Se il set di dati viene riempito da un servizio Web XML, in genere creare un'istanza del servizio nel codice e quindi chiamare uno dei relativi metodi per restituire un set di dati.If the dataset is being filled from an XML Web service, you typically create an instance of the service in your code and then call one of its methods to return a dataset. Quindi di unire il set di dati dal servizio Web XML in set di dati locale.You then merge the dataset from the XML Web service into your local dataset. Nell'esempio seguente viene illustrato come è possibile creare un'istanza di un servizio Web XML denominato CategoriesService, chiamare il relativo GetCategories (metodo) e merge, il set di dati risultante in un set di dati locale denominato DsCategories1:The following example shows how you can create an instance of an XML Web service called CategoriesService, call its GetCategories method, and merge the resulting dataset into a local dataset called 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 DataGrid del controllo SetDataBinding (metodo), passando l'origine dati e un membro dati.Call the DataGrid control's SetDataBinding method, passing it the data source and a data member. Se è necessario passare in modo esplicito un membro dati, passare una stringa vuota.If you do not need to explicitly pass a data member, pass an empty string.

    Nota

    Se si desidera associare la griglia per la prima volta, è possibile impostare il controllo DataSource e DataMember proprietà.If you are binding the grid for the first time, you can set the control's DataSource and DataMember properties. Tuttavia, non è possibile reimpostare le proprietà dopo che sono stati impostati.However, you cannot reset these properties once they have been set. Pertanto, è consigliabile utilizzare sempre il SetDataBinding metodo.Therefore, it is recommended that you always use the SetDataBinding method.

    Nell'esempio seguente viene illustrato come è possibile associare a livello di codice alla tabella Customers in un set di dati denominato DsCustomers1:The following example shows how you can programmatically bind to the Customers table in a dataset called 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:If the Customers table is the only table in the dataset, you could alternatively bind the grid this way:

    DataGrid1.SetDataBinding(DsCustomers1, "")  
    
    DataGrid1.SetDataBinding(DsCustomers1, "");  
    
    dataGrid1->SetDataBinding(dsCustomers1, "");  
    
  3. (Facoltativo) Aggiungere gli stili tabella appropriata e gli stili di colonna nella griglia.(Optional) Add the appropriate table styles and column styles to the grid. Se sono presenti nessuno stile di tabella, verrà visualizzato nella tabella, ma con una formattazione minima e con tutte le colonne visibili.If there are no table styles, you will see the table, but with minimal formatting and with all columns visible.

Vedere ancheSee Also

Cenni preliminari sul controllo DataGridDataGrid Control Overview
Procedura: Aggiungere tabelle e colonne al controllo DataGrid Windows FormHow to: Add Tables and Columns to the Windows Forms DataGrid Control
Controllo DataGridDataGrid Control
Data binding in Windows FormWindows Forms Data Binding