Пример #1
0
        /// <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
            }
        }
Пример #2
0
        /// <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
                }
            }
        }