Cómo: Enlazar el control DataGrid de formularios Windows Forms a un origen de datos

Nota

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

El control DataGrid de formularios Windows Forms está diseñado especialmente para mostrar información sobre un origen de datos. Enlaza el control en tiempo de ejecución llamando al método SetDataBinding. Aunque se pueden mostrar datos de diversos orígenes de datos, los más comunes son los conjuntos de datos y las vistas de datos.

Para enlazar el control DataGrid mediante programa

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

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

    El código exacto depende del lugar del que vaya a obtener los datos el conjunto de datos. Si el conjunto de datos se va a rellenar directamente a partir de la base de datos, normalmente se invoca 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 a partir de un servicio Web XML, normalmente creará una instancia del servicio en el código y, a continuación, invocará a uno de sus métodos para devolver un conjunto de datos. A continuación, combinará el conjunto de datos del servicio Web XML con el conjunto de datos local. El ejemplo siguiente muestra cómo crear una instancia de un servicio Web XML denominado CategoriesService, llamar a su método GetCategories y combinar el conjunto de datos resultante con 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. Invoque al método SetDataBinding del control DataGrid y pásele 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 está enlazando la cuadrícula por primera vez, puede establecer las propiedades DataSource y DataMember del control. Sin embargo, no podrá restablecer estas propiedades una vez que las haya establecido. Por lo tanto, se recomienda utilizar siempre el método SetDataBinding.

    El ejemplo siguiente muestra cómo se puede enlazar mediante programa con 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 en el conjunto de datos, también puede enlazar la cuadrícula del modo siguiente:

    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.

Vea también

Tareas

Cómo: Agregar tablas y columnas al control DataGrid de Windows Forms

Referencia

Información general del control DataGrid (Formularios Windows Forms)

Otros recursos

DataGrid (Control, formularios Windows Forms)

Enlace de datos en Windows Forms