/// <summary> /// Abre la ventana detalle en modo "detalle" o "edición" dependiendo de sus permisos /// </summary> /// <history> /// [emoguel] created 23/07/2016 /// </history> private void Cell_DoubleClick(object sender, RoutedEventArgs e) { frmNoticeDetail frmNoticeDetail = new frmNoticeDetail(); frmNoticeDetail.Owner = this; frmNoticeDetail.enumMode = EnumMode.Edit; Notice notice = dgrNotices.SelectedItem as Notice; frmNoticeDetail.oldNotice = notice; if (frmNoticeDetail.ShowDialog() == true) { List <Notice> lstNotices = dgrNotices.ItemsSource as List <Notice>; int nIndex = 0; if (ValidateFilters(frmNoticeDetail.notice)) { ObjectHelper.CopyProperties(notice, frmNoticeDetail.notice); //Actualizamos los datos lstNotices.Sort((x, y) => string.Compare(x.noTitle, y.noTitle)); //Ordenamos la lista nIndex = lstNotices.IndexOf(notice); //Buscamos la posicion del registro } else { lstNotices.Remove(notice);//Quitamos el registro de la lista } dgrNotices.Items.Refresh(); //Actualizamos los datos GridHelper.SelectRow(dgrNotices, nIndex); //Seleccionamos el registro StatusBarReg.Content = "Notices (" + dgrNotices.Items.Count + ") "; //Actualizamos el contador } }
/// <summary> /// Abre la ventana de detalle en modo Add /// </summary> /// <history> /// [emoguel] created 23/07/2016 /// </history> private void btnAdd_Click(object sender, RoutedEventArgs e) { frmNoticeDetail frmNoticeDetail = new frmNoticeDetail(); frmNoticeDetail.enumMode = EnumMode.Add; if (frmNoticeDetail.ShowDialog() == true) { if (ValidateFilters(frmNoticeDetail.notice))//Validamos que cumpla con los filtros { List <Notice> lstNotices = dgrNotices.ItemsSource as List <Notice>; lstNotices.Add(frmNoticeDetail.notice); //Agregamos el registro lstNotices.Sort((x, y) => string.Compare(x.noTitle, y.noTitle)); //Ordenamos la lista int nIndex = lstNotices.IndexOf(frmNoticeDetail.notice); //Buscamos la posición del registros dgrNotices.Items.Refresh(); //Actualizamos la vista GridHelper.SelectRow(dgrNotices, nIndex); //Seleccionamos el registro StatusBarReg.Content = "Notices (" + dgrNotices.Items.Count + ")"; //Actualizamos el contador } } }