@jsot del futuro, aquí te dejo una nota:
Supongamos que estamos haciendo un programa para algún administrador de zoológicos y teniendo una lista de zoológicos y otra de animales, necesita decir que animales están en cada un zoológico. *
Bueno, usando el GridControl de DeveloperExpress, quería representar algo similar, usando dos GridViews en maestro/detalle (mi campo de relación es idZoologico).
El problema vino al momento de querer acceder los datos del gridView detalle. ¡Nunca contenía datos!
Después de dar vueltas y vueltas, dí con la solución: **
private void gridViewDet_CellValueChanging(object sender, CellValueChangedEventArgs e) { //Obtenemos el id del zoológico padre int idZoo = Convert.ToInt32(gridViewMto.GetFocusedRowCellValue(colIdZoo));
//Obtenemos el valor de la columna que está cambiando bool chk = Convert.ToBoolean(e.Value); //Aquí obtengo el gridView detalle que está activo en este momento GridView vwDetalle = (GridView)gridViewMto.GetDetailView(gridViewMto.FocusedRowHandle, 0);
//Aquí obtengo el id del animal que estamos seleccionando int idAnimal = vwDetalle.GetFocusedRowCellDisplayText("IdAnimal").ToString(); }
El problema lo tenía por que estaba todo hecho bolas con los eventos y quería controlar el evento EditValueChange del RepositoryItemCheckEdit de la columna en el grid de detalle y, pués… no era así.
* El ejemplo no es real.** El código a lo mejor no es elegante o perfecto, solamente quería documentar como sacar los valores de un grid detalle.