Ayuda sobre grid

27/05/2004 - 00:26 por onuar | Informe spam
Tengo un grid simple con una relacion de dos tablas y necesito obtener la
columna hija cuando ago click
 

Leer las respuestas

#1 Manuel Llavador
27/05/2004 - 01:08 | Informe spam
Si lo que quieres es que cuando el usuario seleccione una fila de la tabla
padre aparezcan las filas de la tabla hija lo que tienes que hacer es:

1. Capturar la fila que el usuario ha seleccionado.
2. Utilizando el método DataRow.GetChildRows( ) de la fila (DataRow)
seleccionada obtienes las filas hijas.
3. GetChildRows( ) devuelve un conjunto de filas (DataRow[]) que puedes
mostrar en el grid.

Para utilizar GetChildRows( ) debes especificar como parámetro cual es la
relación (DataRelation) entre la tabla padre y la tabla hija que se quiere
utilizar para saber cuales son las filas hijas (podríamos tener varias
claves ajenas y en ese caso las filas hijas dependerían de qué clave ajena
queremos recorrer). También puedes especificar como segundo parámetro el
estado de las filas (DataRowVersion) que quieres recuperar (Valor original,
valor modificado, ...).

En la MSDN tienes varios ejemplos de como hacerlo, en concreto el siguiente
código para cada fila de la tabla padre devuelve sus filas hijas:

private void GetChildRowsFromDataRelation(DataTable myTable ) {
DataRow[] arrRows;
foreach(DataRelation myRelation in myTable.ChildRelations){
foreach(DataRow myRow in myTable.Rows){
arrRows = myRow.GetChildRows(myRelation, DataRowVersion.Proposed);
// Print values of rows.
for(int i = 0; i < arrRows.Length; i++){
foreach(DataColumn myColumn in myTable.Columns){
Console.WriteLine(arrRows[i][myColumn]);
}
}
}
}
}



"onuar" escribió en el mensaje
news:
Tengo un grid simple con una relacion de dos tablas y necesito obtener la
columna hija cuando ago click


Preguntas similares