//--- VERIFICACAO SE O ITEM ESTA PRONTO PARA SER INSERIDO OU ALTERADO private bool VerificaItems() { classFuncao Item = null; foreach (DataGridViewRow row in dgvListagem.Rows) { dgvListagem.EndEdit(); try { Item = (classFuncao)row.DataBoundItem; } catch { continue; } if (string.IsNullOrEmpty(Item.Funcao)) { dgvListagem.CurrentCell = row.Cells[1]; MessageBox.Show("A descrição da Função não pode ficar vazia...", "Campo Vazio", MessageBoxButtons.OK, MessageBoxIcon.Information); return(false); } } return(true); }
//================================================================================================= // EDITING DATAGRID ITENS //================================================================================================= #region EDITING DATAGRID ITENS private void dgvListagem_CellBeginEdit(object sender, DataGridViewCellCancelEventArgs e) { //--- impede alteracoes nas colunas if (e.ColumnIndex == clnPosicao.Index || e.ColumnIndex == clnImage.Index) { e.Cancel = true; return; } classFuncao currentItem = (classFuncao)dgvListagem.Rows[e.RowIndex].DataBoundItem; if (Sit != EnumFlagEstado.RegistroSalvo && currentItem.RowSit == EnumFlagEstado.RegistroSalvo) { e.Cancel = true; return; } if (currentItem.IDFuncao == null) { Sit = EnumFlagEstado.NovoRegistro; currentItem.RowSit = EnumFlagEstado.NovoRegistro; dgvListagem.Rows[e.RowIndex].DefaultCellStyle.BackColor = Color.MistyRose; } else { Sit = EnumFlagEstado.Alterado; currentItem.RowSit = EnumFlagEstado.Alterado; dgvListagem.Rows[e.RowIndex].DefaultCellStyle.BackColor = Color.MistyRose; } }
//--- AO PRESSIONAR A TECLA (ENTER) ENVIAR (TAB) NO DATAGRID private void dgvListagem_KeyDown(object sender, KeyEventArgs e) { if (e.KeyCode == Keys.Enter) { int iColumn = dgvListagem.CurrentCell.ColumnIndex; int iRow = dgvListagem.CurrentCell.RowIndex; e.SuppressKeyPress = true; e.Handled = true; try { if (iColumn == dgvListagem.ColumnCount - 2) { if (dgvListagem.RowCount > (iRow + 1)) { dgvListagem.CurrentCell = dgvListagem[1, iRow + 1]; } else { SelectNextControl(dgvListagem, true, false, true, true); } } else { dgvListagem.CurrentCell = dgvListagem[iColumn + 1, iRow]; } } catch { } } else if (e.KeyCode == Keys.Delete) { e.SuppressKeyPress = true; e.Handled = true; classFuncao myItem = (classFuncao)dgvListagem.CurrentRow.DataBoundItem; if (myItem.RowSit == EnumFlagEstado.NovoRegistro) { dgvListagem.Rows.Remove(dgvListagem.CurrentRow); } if (!list.Exists(x => x.RowSit != EnumFlagEstado.RegistroSalvo)) { Sit = EnumFlagEstado.RegistroSalvo; } } }
public static List <classFuncao> convertFrom(List <objFuncao> lstFuncao) { var novaClasse = new List <classFuncao>(); foreach (var funcao in lstFuncao) { var cl = new classFuncao() { Funcao = funcao.Funcao, IDFuncao = funcao.IDFuncao, Posicao = funcao.Posicao, Ativo = funcao.Ativo, RowSit = funcao.IDFuncao == null ? EnumFlagEstado.NovoRegistro : EnumFlagEstado.RegistroSalvo }; novaClasse.Add(cl); } return(novaClasse); }