/// <summary> /// Abre la ventana de detalle en modo edicion o detalle dependiendo de los permisos /// </summary> /// <param name="sender"></param> /// <param name="e"></param> /// <history> /// [emoguel] created 14/03/2016 /// </history> private void Cell_DoubleClick(object sender, RoutedEventArgs e) { Country country = (Country)dgrCountries.SelectedItem; frmCountryDetail frmCountryDetail = new frmCountryDetail(); frmCountryDetail.Owner = this; frmCountryDetail.oldCountry = country; frmCountryDetail.mode = ((_blnEdit == true) ? EnumMode.Edit : EnumMode.ReadOnly); if (frmCountryDetail.ShowDialog() == true) { List <Country> lstCountry = (List <Country>)dgrCountries.ItemsSource; int nIndex = 0; if (!ValidateFilters(frmCountryDetail.country)) { lstCountry.Remove(country);//Quitamos el registro de la lista } else { ObjectHelper.CopyProperties(country, frmCountryDetail.country); lstCountry.Sort((x, y) => string.Compare(x.coN, y.coN));//Ordenamos la lista nIndex = lstCountry.IndexOf(country); } dgrCountries.Items.Refresh(); //refrescamos la lista GridHelper.SelectRow(dgrCountries, nIndex); //Seleccionamos el registro en la lista StatusBarReg.Content = lstCountry.Count + " Countries"; //Actualizamos el contador } }
/// <summary> /// Abre la ventana de detalle en modo add /// </summary> /// <param name="sender"></param> /// <param name="e"></param> /// <history> /// [emoguel] created 14/03/2016 /// </history> private void btnAdd_Click(object sender, RoutedEventArgs e) { frmCountryDetail frmCountryDetail = new frmCountryDetail(); frmCountryDetail.mode = EnumMode.Add; frmCountryDetail.Owner = this; if (frmCountryDetail.ShowDialog() == true) { if (ValidateFilters(frmCountryDetail.country))//Validamos que cumpla con los filtros actuales { List <Country> lstCountry = (List <Country>)dgrCountries.ItemsSource; lstCountry.Add(frmCountryDetail.country); //Agregamos el nuevo registro lstCountry.Sort((x, y) => string.Compare(x.coN, y.coN)); //Ordenamos la lista int nIndex = lstCountry.IndexOf(frmCountryDetail.country); //Buscamos el index del nuevo registro dgrCountries.Items.Refresh(); //refrescamos la lista GridHelper.SelectRow(dgrCountries, nIndex); //Seleccionamos el registro en la lista StatusBarReg.Content = lstCountry.Count + " Countries"; } } }