miércoles, 16 de mayo de 2012

Consideraciones en el GridControl Maestro-Detalle.

En un proyecto que estoy llevando a cabo, me vi a la necesidad de mostrar un GridControl (Maestro-Detalle) pero que tiene dos Detalles, es decir, un DataSet con tres DataTable, donde dos tablas dependen de la misma; de acuerdo a las entradas anteriores esto es posible si lleva al pie de la letra, salvo un detalle que se presenta cuando se ejecuta el proyecto.....

El detalle es el siguiente: Al momento de llenar el DataSet y enlazarlo al GridControl y ejecutarlo, este no muestra como activo el icono (+) para desplegar los detalles de la tabla que pertenezca a la segunda relación del DataSet, pero sin embargo si le haces clic al icono, se despliega correctamente el detalle aunque este en color gris inactivo, y solo se va a mostrar como activo cuando la tabla de la primera relación tenga datos.

Un ejemplo:

1. Creas el DataSet
2.-Creas el DataTable Maestro
3.-Creas el primer DataTable Detalle
4.-Creas el segundo DataTable Detalle
5.- Creas la primera relación (DataTable Maestro - primer DataTable Detalle)
6.- Creas la segunda relación (DataTable Maestro - segundo DataTable Detalle) 


Para solucionar este detalle, después de hacer el DataSource sobre el GridControl se debe escribir el siguiente código:

GridViewMaestro.OptionsDetail.SmartDetailExpandButtonMode = DetailExpandButtonMode.CheckAllDetails;

y en la propiedad ChildGridLevelName de los dos GridView detalles, ponerle el nombre de la la relacion correspondiente (tome en consideracion la entrada Maestro-Detalle)


Si te servio comenta por favor.

Saludos

Ajustar columnas de un GridView al contenido de los camps desde código.

  gridView1.OptionsBehavior.AutoPopulateColumns = true; //'generar automaticamente las columnas a raíz del dataset             gridVie...