/// <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 03/05/2016 /// </history> private void Cell_DoubleClick(object sender, RoutedEventArgs e) { Dept dept = (Dept)dgrDepts.SelectedItem; frmDeptDetail frmDeptDetail = new frmDeptDetail(); frmDeptDetail.Owner = this; frmDeptDetail.enumMode = EnumMode.Edit; frmDeptDetail.oldDept = dept; if (frmDeptDetail.ShowDialog() == true) { int nIndex = 0; List <Dept> lstDepts = (List <Dept>)dgrDepts.ItemsSource; if (ValidateFilter(frmDeptDetail.dept)) //Validamos ci cumple con los filtros { ObjectHelper.CopyProperties(dept, frmDeptDetail.dept); //Actualizamos los datos lstDepts.Sort((x, y) => string.Compare(x.deN, y.deN)); //Ordenamos la lista nIndex = lstDepts.IndexOf(dept); //buscamos la posición del registro } else { lstDepts.Remove(dept); //Quitamos el registro } dgrDepts.Items.Refresh(); //Actualizamos la vista GridHelper.SelectRow(dgrDepts, nIndex); //Seleccionamos el registro StatusBarReg.Content = lstDepts.Count + " Depts."; //Actualizamos el contador } }
/// <summary> /// Abre la ventana de detalle en modo add /// </summary> /// <param name="sender"></param> /// <param name="e"></param> /// <history> /// [emoguel] created 03/05/2016 /// </history> private void btnAdd_Click(object sender, RoutedEventArgs e) { frmDeptDetail frmDeptDetail = new frmDeptDetail(); frmDeptDetail.Owner = this; frmDeptDetail.enumMode = EnumMode.Add; if (frmDeptDetail.ShowDialog() == true) { if (ValidateFilter(frmDeptDetail.dept))//Valida que cumpla con los filtros actuales { List <Dept> lstDepts = (List <Dept>)dgrDepts.ItemsSource; lstDepts.Add(frmDeptDetail.dept); //Agregar el registro lstDepts.Sort((x, y) => string.Compare(x.deN, y.deN)); //ordenar la lista int nIndex = lstDepts.IndexOf(frmDeptDetail.dept); //BUscamos la posición del registro dgrDepts.Items.Refresh(); //Refrescar la vista GridHelper.SelectRow(dgrDepts, nIndex); //Seleccionar el registro StatusBarReg.Content = lstDepts.Count + " Depts."; //Actualizar el contador } } }