コード例 #1
0
        /// <summary>
        /// Se marca como insert/update la propiedad ControlCambioDataGrid del SelectedItem del DataGrid
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        public static void DataGridInsertEdit(object sender, DataGridRowEditEndingEventArgs e)
        {
            try
            {   //Se recupera la EOpcion, el GenericObservableCollection, el TabItem y el DataGrid del TabItem activo
                EOpcion opcion = TabControlAndTabItemUtil.TabControlSelectedItemEOpcion();
                GenericObservableCollection auxobscollection = tabitemdictionary.Where(g => g.Key == opcion).FirstOrDefault().Value.GenericObsCollection;
                TabItem  tabitem  = tabitemdictionary.Where(g => g.Key == opcion).FirstOrDefault().Value.TabItem;
                DataGrid datagrid = tabitem.Content as DataGrid;

                foreach (var itemdatagrid in datagrid.SelectedItems)
                {
                    foreach (var itemobscollection in auxobscollection.GenericObsCollection)
                    {     //Se comprueba que el SelectedItem corresponda con el object del GenericObservableCollection
                        if (itemdatagrid == itemobscollection)
                        { //Se marca como insert/update según corresponda la propiedad ControlCambioDataGrid
                            //del object del GenericObservableCollection
                            lControlCambioDataGrid lcontrolcambiodatagrid = itemobscollection as lControlCambioDataGrid;
                            lcontrolcambiodatagrid.ControlCambioDataGrid = e.Row.IsNewItem ? EControlCambioDataGrid.Insert : EControlCambioDataGrid.Update;
                            break;
                        }
                    }
                }
            }
            catch (Exception) { }
        }
コード例 #2
0
        /// <summary>
        /// Se marcan como delete la propiedad ControlCambioDataGrid de los SelectedItem del DataGrid
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        public static void DataGridDelete(object sender, KeyEventArgs e)
        {
            try
            {
                EOpcion opcion = TabControlAndTabItemUtil.TabControlSelectedItemEOpcion();
                GenericObservableCollection auxobscollection = tabitemdictionary.Where(g => g.Key == opcion).FirstOrDefault().Value.GenericObsCollection;
                TabItem  tabitem  = tabitemdictionary.Where(g => g.Key == opcion).FirstOrDefault().Value.TabItem;
                DataGrid datagrid = tabitem.Content as DataGrid;

                if (e.Key == Key.Delete)
                {   //Se consulta si realmente se desea eliminar el registro
                    if (!(MessageBox.Show("Estás seguro?", "Eliminar registros", MessageBoxButton.YesNo) == MessageBoxResult.No))
                    {
                        foreach (var itemdatagrid in datagrid.SelectedItems)
                        {
                            foreach (var itemobscollection in auxobscollection.GenericObsCollection)
                            {     //Se comprueba que el SelectedItem corresponda con el object del GenericObservableCollection
                                if (itemdatagrid == itemobscollection)
                                { //Se marca como delete la propiedad ControlCambioDataGrid del object del GenericObservableCollection
                                    lControlCambioDataGrid lcontrolcambiodatagrid = itemobscollection as lControlCambioDataGrid;
                                    lcontrolcambiodatagrid.ControlCambioDataGrid = EControlCambioDataGrid.Delete;

                                    break;
                                }
                            }
                        }
                    }
                    else
                    {
                        e.Handled = true;
                    }
                }
            }
            catch (Exception) { }
        }