Compartir a través de


Procedimiento para enlazar el control DataGrid de formularios Windows Forms a un origen de datos mediante el diseñador

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 diseño, establezca las propiedades DataSource y DataMember, o 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.

Si el origen de datos está disponible en tiempo de diseño (por ejemplo, si el formulario contiene una instancia de un conjunto de datos o una vista de datos), puede enlazar la cuadrícula al origen de datos en tiempo de diseño. Después, puede obtener una versión preliminar del aspecto de los datos en la cuadrícula.

También puede enlazar la cuadrícula mediante programación en tiempo de ejecución. Esto resulta útil cuando desea establecer un origen de datos en función de la información que obtenga en tiempo de ejecución. Por ejemplo, la aplicación podría permitir al usuario especificar el nombre de una tabla que se va a ver. También es necesario en situaciones en las que el origen de datos no existe en tiempo de diseño. Esto incluye orígenes de datos como matrices, colecciones, conjuntos de datos sin tipo y lectores de datos.

El procedimiento siguiente requiere un proyecto de Aplicación de Windows con un formulario que contenga un control DataGrid. Para obtener información sobre cómo configurar un proyecto de este tipo, vea Procedimiento para crear un proyecto de aplicación de Windows Forms y Procedimiento para agregar controles a Windows Forms. En Visual Studio 2005, el control DataGrid no está en el cuadro de herramientas de forma predeterminada. Para información sobre cómo agregarlo, consulte Procedimiento para agregar elementos al cuadro de herramientas. Además, en Visual Studio 2005, puede usar la ventana Orígenes de datos para el enlace de datos en tiempo de diseño. Para obtener más información, vea Enlazar controles a datos en Visual Studio.

Para enlazar con datos el control DataGrid a una sola tabla del diseñador

  1. Establezca la propiedad DataSource del control en el objeto que contiene los elementos de datos a los que desea enlazar.

  2. Si el origen de datos es un conjunto de datos, establezca la propiedad DataMember en el nombre de la tabla a la que se va a enlazar.

  3. 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 código de ejemplo siguiente, que rellena un conjunto de datos denominado DsCategories1:

    sqlDataAdapter1.Fill(DsCategories1)
    
    sqlDataAdapter1.Fill(DsCategories1);
    
    sqlDataAdapter1->Fill(dsCategories1);
    
  4. (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.

Para enlazar con datos el control DataGrid a varias tablas de un conjunto de datos en el diseñador

  1. Establezca la propiedad DataSource del control en el objeto que contiene los elementos de datos a los que desea enlazar.

  2. Si el conjunto de datos contiene tablas relacionadas (es decir, si contiene un objeto relation), establezca la propiedad DataMember en el nombre de la tabla primaria.

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

Consulte también