//================================================================================================= // EDITING DATAGRID ITENS //================================================================================================= #region EDITING DATAGRID ITENS private void dgvListagem_CellBeginEdit(object sender, DataGridViewCellCancelEventArgs e) { //--- impede alteracoes nas colunas if (e.ColumnIndex == clnID.Index || e.ColumnIndex == clnImage.Index) { e.Cancel = true; return; } classTitular currentItem = (classTitular)dgvListagem.Rows[e.RowIndex].DataBoundItem; if (Sit != EnumFlagEstado.RegistroSalvo && currentItem.RowSit == EnumFlagEstado.RegistroSalvo) { e.Cancel = true; return; } if (currentItem.IDTitular == 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; classTitular myItem = (classTitular)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 <classTitular> convertFrom(List <objDespesaTitular> lstTitular) { var novaClasse = new List <classTitular>(); foreach (var titular in lstTitular) { var cl = new classTitular() { Titular = titular.Titular, Ativo = titular.Ativo, IDTitular = titular.IDTitular, CNP = CNPConvert(titular.CNP), RowSit = titular.IDTitular == null ? EnumFlagEstado.NovoRegistro : EnumFlagEstado.RegistroSalvo }; novaClasse.Add(cl); } return(novaClasse); }
//--- VERIFICACAO SE O ITEM ESTA PRONTO PARA SER INSERIDO OU ALTERADO private bool VerificaItems() { classTitular Item = null; foreach (DataGridViewRow row in dgvListagem.Rows) { dgvListagem.EndEdit(); try { Item = (classTitular)row.DataBoundItem; } catch { continue; } if (string.IsNullOrEmpty(Item.Titular)) { dgvListagem.CurrentCell = row.Cells[1]; MessageBox.Show("A descrição/nome do Titular não pode ficar vazia...", "Campo Vazio", MessageBoxButtons.OK, MessageBoxIcon.Information); return(false); } if (string.IsNullOrEmpty(Item.CNP)) { dgvListagem.CurrentCell = row.Cells[2]; MessageBox.Show("O número do CNP: CNPJ ou CPF do titular não pode ficar vazio...", "Campo Vazio", MessageBoxButtons.OK, MessageBoxIcon.Information); return(false); } } return(true); }