/// <summary> /// Muestra la ventana detalle en modo edit /// </summary> /// <history> /// [emoguel] 18/04/2016 Created /// </history> private void Cell_DoubleClick(object sender, RoutedEventArgs e) { Rep rep = (Rep)dgrReps.SelectedItem; frmRepDetail frmRepDetail = new frmRepDetail(); frmRepDetail.Owner = this; frmRepDetail.enumMode = (_blnEdit) ? EnumMode.Edit : EnumMode.ReadOnly; frmRepDetail.oldRep = rep; if (frmRepDetail.ShowDialog() == true) { int nIndex = 0; List <Rep> lstReps = (List <Rep>)dgrReps.ItemsSource; if (ValidateFilter(frmRepDetail.rep)) //Validamos si cumple con los filtros { ObjectHelper.CopyProperties(rep, frmRepDetail.rep); //Actualizamos los datos lstReps.Sort((x, y) => string.Compare(x.rpID, y.rpID)); //Ordenamos la lista nIndex = lstReps.IndexOf(rep); //Obtenemos la posicion del registros } else { lstReps.Remove(rep);//Quitamos el registro } dgrReps.Items.Refresh(); GridHelper.SelectRow(dgrReps, nIndex); //Seleccionamos el registro StatusBarReg.Content = lstReps.Count + " Reps."; //Actualizamos el contador } }
/// <summary> /// Abre la ventana detalle en modo Add /// </summary> /// <param name="sender"></param> /// <param name="e"></param> /// <history> /// [emoguel] created 18/04/2016 /// </history> private void btnAdd_Click(object sender, RoutedEventArgs e) { frmRepDetail frmRepDetail = new frmRepDetail(); frmRepDetail.Owner = this; frmRepDetail.enumMode = EnumMode.Add; if (frmRepDetail.ShowDialog() == true) { Rep rep = frmRepDetail.rep; if (ValidateFilter(rep))//Verificamos que cumpla con los filtros { List <Rep> lstReps = (List <Rep>)dgrReps.ItemsSource; lstReps.Add(rep); //Agregamos el registro lstReps.Sort((x, y) => string.Compare(x.rpID, y.rpID)); //Ordenamos la lista int nIndex = lstReps.IndexOf(rep); //Obtenemos la posicion del registro dgrReps.Items.Refresh(); //Actualizamos la vista GridHelper.SelectRow(dgrReps, nIndex); //Seleccionamos el registro nuevo StatusBarReg.Content = lstReps.Count + " Reps."; //Actualizamos el contador } } }