private void categoriaDataGridView_CellFormatting(object sender, DataGridViewCellFormattingEventArgs e) { if (!_categorias.Any() || _categorias.Count <= e.RowIndex) { return; } if (_categorias[e.RowIndex].Updated) { e.CellStyle.BackColor = Color.Bisque; } }
private bool PromptSave() { if (!_listas.Any(m => m.Updated) && !_itens.Any(m => m.Updated)) { return(true); } switch (MessageBox.Show(@"Salvar alterações?", @"Listas de Compras", MessageBoxButtons.YesNoCancel, MessageBoxIcon.Question)) { case DialogResult.Yes: Database.ListaUpdate(_listas.Where(m => m.Updated).ToList(), _itens.Where(m => m.Updated).ToList()); return(true); case DialogResult.No: return(true); default: return(false); } }
private void DataGridViewMapas_DragDrop(object sender, DragEventArgs e) { int rowIndexOfItemUnderMouseToDrop = GetRowIndexOfItemUnderMouseToDrop(e); // If the drag operation was a move then remove and insert the row. // if (e.Effect == DragDropEffects.Move) { if (_ddSource == DragDropSource.Mapas) { DataGridViewRow rowToMove = e.Data.GetData( typeof(DataGridViewRow)) as DataGridViewRow; if (rowToMove.Index == rowIndexOfItemUnderMouseToDrop) { return; } _mapas[rowToMove.Index].Updated = true; if (rowToMove.Index > rowIndexOfItemUnderMouseToDrop) { // Moving UP _mapas[rowToMove.Index].Corredor = _mapas[rowIndexOfItemUnderMouseToDrop].Corredor; for (int r = rowIndexOfItemUnderMouseToDrop; r < rowToMove.Index; r++) { _mapas[r].Corredor = _mapas[r].Corredor + 1; _mapas[r].Updated = true; } } else { // Moving DOWN _mapas[rowToMove.Index].Corredor = _mapas[rowIndexOfItemUnderMouseToDrop].Corredor - 1; for (int r = rowToMove.Index + 1; r < rowIndexOfItemUnderMouseToDrop; r++) { _mapas[r].Corredor = _mapas[r].Corredor - 1; _mapas[r].Updated = true; } } var SortedList = _mapas.OriginalList.OrderBy(o => o.Corredor); _mapas = new SortableBindingList <clsMapa>(); foreach (clsMapa mapa in SortedList) { _mapas.Add(mapa); } _sourceMapas.DataSource = _mapas; bindingSourceMapas.DataSource = _sourceMapas; LojaBindingNavigatorSaveItem.Enabled = _mapas.Any(m => m.Updated); } else { if (e.Data.GetDataPresent(typeof(ListView.SelectedListViewItemCollection))) { foreach (ListViewItem current in (ListView.SelectedListViewItemCollection)e.Data.GetData(typeof(ListView.SelectedListViewItemCollection))) { if (_ddSource == DragDropSource.ProdutosNoCorredor) { if (bindingSourceMapas.Position == rowIndexOfItemUnderMouseToDrop) { return; } _mapas[bindingSourceMapas.Position].ProdutoRemove(current); } _mapas[rowIndexOfItemUnderMouseToDrop].ProdutoAdd(current); current.Remove(); } DataGridViewMapas.Refresh(); LojaBindingNavigatorSaveItem.Enabled = true; } } }