示例#1
0
        /// <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
            }
        }
示例#2
0
        /// <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
                }
            }
        }