Exemplo n.º 1
0
        /// <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
            }
        }
Exemplo n.º 2
0
        /// <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
                }
            }
        }