Procedimiento para enlazar el control DataGrid de formularios Windows Forms a un origen de datos

Nota:

El control DataGridView reemplaza y agrega funcionalidad al control DataGrid; sin embargo, el control DataGrid se conserva a efectos de compatibilidad con versiones anteriores y uso futuro, en su caso. Para obtener más información, consulte Diferencias entre los controles DataGridView y DataGrid de formularios Windows Forms.

El control DataGrid de Windows Forms está diseñado específicamente para mostrar información de un origen de datos. Para enlazar el control en tiempo de ejecución, llame al método SetDataBinding. Aunque puede mostrar datos de diversos orígenes de datos, los orígenes más típicos son los conjuntos de datos y las vistas de datos.

Para enlazar datos al control DataGrid mediante programación

  1. Escriba código para rellenar el conjunto de datos.

    Si el origen de datos es un conjunto de datos o una vista de datos basada en una tabla de conjunto de datos, agregue código al formulario para rellenar el conjunto de datos.

    El código exacto que use depende de dónde obtenga los datos el conjunto de datos. Si el conjunto de datos se rellena directamente desde una base de datos, normalmente llamará al método Fill de un adaptador de datos, como en el ejemplo siguiente, que rellena un conjunto de datos denominado DsCategories1:

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

    Si el conjunto de datos se rellena desde un servicio Web XML, normalmente creará una instancia del servicio en el código y, luego, llamará a uno de sus métodos para devolver un conjunto de datos. A continuación, combinará el conjunto de datos del servicio Web XML en el conjunto de datos local. En el ejemplo siguiente se muestra cómo puede crear una instancia de un servicio Web XML denominado CategoriesService, llamar a su método GetCategories y combinar el conjunto de datos resultante en un conjunto de datos local denominado 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. Llame al método DataGrid del control SetDataBinding y pase el origen de datos y un miembro de datos. Si no necesita pasar explícitamente un miembro de datos, pase una cadena vacía.

    Nota:

    Si va a enlazar la cuadrícula por primera vez, puede establecer las propiedades DataSource y DataMember del control. Una vez que haya establecido estas propiedades, no podrá restablecerlas. Por lo tanto, se recomienda usar siempre el método SetDataBinding.

    En el ejemplo siguiente se muestra cómo se puede enlazar mediante programación a la tabla Customers de un conjunto de datos denominado DsCustomers1:

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

    Si la tabla Customers es la única tabla del conjunto de datos, también puede enlazar la cuadrícula de esta manera:

    DataGrid1.SetDataBinding(DsCustomers1, "")  
    
    DataGrid1.SetDataBinding(DsCustomers1, "");  
    
    dataGrid1->SetDataBinding(dsCustomers1, "");  
    
  3. (Opcional). Agregue los estilos de tabla y de columna adecuados a la cuadrícula. Si no hay estilos de tabla, verá la tabla, pero con un formato mínimo y con todas las columnas visibles.

Consulte también