/// <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 07/06/2016 /// </history> private void Cell_DoubleClick(object sender, RoutedEventArgs e) { Zone zone = (Zone)dgrZones.SelectedItem; frmZoneDetail frmZoneDetail = new frmZoneDetail(); frmZoneDetail.Owner = this; frmZoneDetail.enumMode = (_blnEdit) ? EnumMode.Edit : EnumMode.ReadOnly; frmZoneDetail.oldZone = zone; if (frmZoneDetail.ShowDialog() == true) { int nIndex = 0; List <Zone> lstZones = (List <Zone>)dgrZones.ItemsSource; if (ValidateFilter(frmZoneDetail.zone)) { ObjectHelper.CopyProperties(zone, frmZoneDetail.zone); //Actualizamos los datos lstZones.Sort((x, y) => string.Compare(x.znN, y.znN)); //ordenamos la lista nIndex = lstZones.IndexOf(zone); //obtenemos la posición del registro } else { lstZones.Remove(zone); //Quitamos el registro } dgrZones.Items.Refresh(); //Actualizamos la vista GridHelper.SelectRow(dgrZones, nIndex); //Seleccionamos el registro StatusBarReg.Content = lstZones.Count + " Zones."; //Actualizamos el contador } }
/// <summary> /// Abre la ventana detalle en modo add /// </summary> /// <param name="sender"></param> /// <param name="e"></param> /// <history> /// [emoguel] created 07/06/2016 /// </history> private void btnAdd_Click(object sender, RoutedEventArgs e) { frmZoneDetail frmZoneDatail = new frmZoneDetail(); frmZoneDatail.Owner = this; frmZoneDatail.enumMode = EnumMode.Add; if (frmZoneDatail.ShowDialog() == true) { if (ValidateFilter(frmZoneDatail.zone))//Verificamos que cumpla con los filtros { List <Zone> lstZones = (List <Zone>)dgrZones.ItemsSource; lstZones.Add(frmZoneDatail.zone); //Agregamos el registro lstZones.Sort((x, y) => string.Compare(x.znN, y.znN)); //ordenamos la lista int nIndex = lstZones.IndexOf(frmZoneDatail.zone); //obtenemos la posición del registro dgrZones.Items.Refresh(); //Actualizamos la vista GridHelper.SelectRow(dgrZones, nIndex); //Seleccionamos el registro StatusBarReg.Content = lstZones.Count + "Zones"; //Actualizamos el contador } } }