Ejemplo n.º 1
0
        /// <summary>
        /// Muestra la ventada Charge To ReadOnly
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void Cell_DoubleClick(object sender, RoutedEventArgs e)
        {
            ChargeTo          chargeTo          = (ChargeTo)dtgChargeTo.SelectedItem;
            frmChargeToDetail frmChargeToDetail = new frmChargeToDetail();

            frmChargeToDetail.Owner       = this;
            frmChargeToDetail.mode        = ((_blnEdit == true) ? EnumMode.Edit : EnumMode.ReadOnly);
            frmChargeToDetail.oldChargeTo = chargeTo;
            if (frmChargeToDetail.ShowDialog() == true)
            {
                List <ChargeTo> lstCargeTos = (List <ChargeTo>)dtgChargeTo.ItemsSource;
                int             nIndex      = 0;
                if (!ValidateFilters(frmChargeToDetail.chargeTo))
                {
                    lstCargeTos.Remove(chargeTo);//quitamos el registro de la lista
                }
                else
                {
                    ObjectHelper.CopyProperties(chargeTo, frmChargeToDetail.chargeTo);
                    lstCargeTos.Sort((x, y) => string.Compare(x.ctID, y.ctID));//Ordenamos la lista
                    nIndex = lstCargeTos.IndexOf(chargeTo);
                }
                dtgChargeTo.Items.Refresh();//Refrescamos el grid
                GridHelper.SelectRow(dtgChargeTo, nIndex);
                StatusBarReg.Content = lstCargeTos.Count + " Carge Tos.";
            }
        }
Ejemplo n.º 2
0
        /// <summary>
        /// Muestra la ventana Detail ChargeTo para agregar un nuevo registro
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void btnAdd_Click(object sender, RoutedEventArgs e)
        {
            frmChargeToDetail frmChargeToDetail = new frmChargeToDetail();

            frmChargeToDetail.Owner = this;
            frmChargeToDetail.mode  = EnumMode.Add;//insertar

            if (frmChargeToDetail.ShowDialog() == true)
            {
                if (ValidateFilters(frmChargeToDetail.chargeTo))//Valida si cumple con los filtros actuales
                {
                    List <ChargeTo> lstCargeTos = (List <ChargeTo>)dtgChargeTo.ItemsSource;
                    lstCargeTos.Add(frmChargeToDetail.chargeTo);                  //Agregamos el nuevo registro
                    lstCargeTos.Sort((x, y) => string.Compare(x.ctID, y.ctID));   //Ordenamos la lista
                    int nIndex = lstCargeTos.IndexOf(frmChargeToDetail.chargeTo); //Obtenemos el index
                    dtgChargeTo.Items.Refresh();                                  //Refrescamos el grid
                    GridHelper.SelectRow(dtgChargeTo, nIndex);
                    StatusBarReg.Content = lstCargeTos.Count + " Carge Tos.";
                }
            }
        }