/// <summary> /// Muestra la ventana detalle en modo edit /// </summary> /// <history> /// [emoguel] 19/04/2016 Created /// </history> private void Cell_DoubleClick(object sender, RoutedEventArgs e) { Role role = (Role)dgrRoles.SelectedItem; frmRoleDetail frmRoleDetail = new frmRoleDetail(); frmRoleDetail.Owner = this; frmRoleDetail.enumMode = EnumMode.Edit; frmRoleDetail.oldRole = role; if (frmRoleDetail.ShowDialog() == true) { int nIndex = 0; List <Role> lstRoles = (List <Role>)dgrRoles.ItemsSource; if (ValidateFilter(frmRoleDetail.role)) //Verificamos que cumpla con los filtros actuales { ObjectHelper.CopyProperties(role, frmRoleDetail.role); //Actualizamos los datos del registro lstRoles.Sort((x, y) => string.Compare(x.roN, y.roN)); //Ordenamos la lista nIndex = lstRoles.IndexOf(role); //Buscamos la posicion del registro } else { lstRoles.Remove(role); //Quitamos el registro } dgrRoles.Items.Refresh(); //Actualizamos la vista GridHelper.SelectRow(dgrRoles, nIndex); //Seleccionamos el registro StatusBarReg.Content = lstRoles.Count + " Roles."; //Actualizamos el contador } }
/// <summary> /// Abre la ventana detalle en modo Add /// </summary> /// <param name="sender"></param> /// <param name="e"></param> /// <history> /// [emoguel] created 19/04/2016 /// </history> private void btnAdd_Click(object sender, RoutedEventArgs e) { frmRoleDetail frmRoleDetail = new frmRoleDetail(); frmRoleDetail.Owner = this; frmRoleDetail.enumMode = EnumMode.Add; if (frmRoleDetail.ShowDialog() == true) { Role role = frmRoleDetail.role; if (ValidateFilter(role))//Verificamos que cumpla con los filtros actuales { List <Role> lstRoles = (List <Role>)dgrRoles.ItemsSource; lstRoles.Add(role); //Agregamos el registro lstRoles.Sort((x, y) => string.Compare(x.roN, y.roN)); //Ordenamos la lista int nIndex = lstRoles.IndexOf(role); //Obtenemos la posición del registro dgrRoles.Items.Refresh(); //Actualizamos la vista del grid GridHelper.SelectRow(dgrRoles, nIndex); //Seleccionamos el registro StatusBarReg.Content = lstRoles.Count + " Roles."; //Actualizamos el contador } } }