/// <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 30/04/2016 /// </history> private void Cell_DoubleClick(object sender, RoutedEventArgs e) { Bank bank = (Bank)dtgBanks.SelectedItem; frmBankDetail frmBankDetail = new frmBankDetail(); frmBankDetail.Owner = this; frmBankDetail.enumMode = EnumMode.Edit; frmBankDetail.oldBank = bank; if (frmBankDetail.ShowDialog() == true) { List <Bank> lstBanks = (List <Bank>)dtgBanks.ItemsSource; int nIndex = 0; if (ValidateFilter(frmBankDetail.bank)) //Verificamos que cumpla con los filtros { ObjectHelper.CopyProperties(bank, frmBankDetail.bank, true); //Actualizamos los datos del registro lstBanks.Sort((x, y) => string.Compare(x.bkN, y.bkN)); //Reordenamos la lista nIndex = lstBanks.IndexOf(bank); //Buscamos la posición del registro } else { lstBanks.Remove(bank); //Quitamos de la lista } dtgBanks.Items.Refresh(); //Actualizamos la vista GridHelper.SelectRow(dtgBanks, nIndex); //Seleccionamos el registro StatusBarReg.Content = lstBanks.Count + " Banks."; //Actualizamos el contador } }
/// <summary> /// Abre la ventana detalle en modo Add /// </summary> /// <param name="sender"></param> /// <param name="e"></param> /// <history> /// [emoguel] created 30/04/2016 /// </history> private void btnAdd_Click(object sender, RoutedEventArgs e) { frmBankDetail frmBankDetail = new frmBankDetail(); frmBankDetail.Owner = this; frmBankDetail.enumMode = EnumMode.Add; if (frmBankDetail.ShowDialog() == true) { if (ValidateFilter(frmBankDetail.bank))//Validamos que cumpla con los filtros actuales { List <Bank> lstBanks = (List <Bank>)dtgBanks.ItemsSource; lstBanks.Add(frmBankDetail.bank); //Agregamos el registro a la lista lstBanks.Sort((x, y) => string.Compare(x.bkN, y.bkN)); //Ordenamos la lista int nIndex = lstBanks.IndexOf(frmBankDetail.bank); //BUscamos la posicion del registro dtgBanks.Items.Refresh(); //Actualizamos la vista GridHelper.SelectRow(dtgBanks, nIndex); //Seleccionamos el registro StatusBarReg.Content = lstBanks.Count + " Banks."; //Actualizamos el contador } } }