/// <summary> /// Abre la ventana detalle en modo Add /// </summary> /// <param name="sender"></param> /// <param name="e"></param> /// <history> /// [emoguel] created 25/05/2016 /// </history> private void btnAdd_Click(object sender, RoutedEventArgs e) { frmProgramDetail frmProgramDetail = new frmProgramDetail(); frmProgramDetail.Owner = this; frmProgramDetail.enumMode = EnumMode.Add; if (frmProgramDetail.ShowDialog() == true) { List <Program> lstPrograms = (List <Program>)dgrPrograms.ItemsSource; lstPrograms.Add(frmProgramDetail.program); //Agregamos el registro lstPrograms.Sort((x, y) => string.Compare(x.pgN, y.pgN)); //Ordenamos la lista int nIndex = lstPrograms.IndexOf(frmProgramDetail.program); //Buscamos la posicion del registro dgrPrograms.Items.Refresh(); //Actualizamos la vista GridHelper.SelectRow(dgrPrograms, nIndex); //Seleccionamos el registro StatusBarReg.Content = lstPrograms.Count + "Programs"; //Actualizamos el contador } }
/// <summary> /// Abre la ventana detalle en modo "detalle" o "edición" dependiendo de sus permisos /// </summary> /// <param name="sender"></param> /// <param name="e"></param> /// <history> /// [emoguel] created 25/05/2016 /// </history> private void Cell_DoubleClick(object sender, RoutedEventArgs e) { Program program = (Program)dgrPrograms.SelectedItem; frmProgramDetail frmProgramDetail = new frmProgramDetail(); frmProgramDetail.enumMode = (_blnEdit) ? EnumMode.Edit : EnumMode.ReadOnly; frmProgramDetail.oldProgram = program; if (frmProgramDetail.ShowDialog() == true) { List <Program> lstPrograms = new List <Program>(); ObjectHelper.CopyProperties(program, frmProgramDetail.program); //Actualizamos los datos del registro lstPrograms.Sort((x, y) => string.Compare(x.pgN, y.pgN)); //Ordenamos la lista int nIndex = lstPrograms.IndexOf(program); //Obtenemos la posición del registro dgrPrograms.Items.Refresh(); //Actualizamos la vista GridHelper.SelectRow(dgrPrograms, nIndex); //Seleccionamos el registro } }