//=================================================================================================
        // 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;
            }

            classBanco currentItem = (classBanco)dgvListagem.Rows[e.RowIndex].DataBoundItem;

            if (Sit != EnumFlagEstado.RegistroSalvo && currentItem.RowSit == EnumFlagEstado.RegistroSalvo)
            {
                e.Cancel = true;
                return;
            }

            if (currentItem.IDBanco == 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;

                classBanco myItem = (classBanco)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 <classBanco> convertFrom(List <objBanco> lstBanco)
            {
                var novaClasse = new List <classBanco>();

                foreach (var banco in lstBanco)
                {
                    var cl = new classBanco()
                    {
                        BancoNome = banco.BancoNome,
                        Ativo     = banco.Ativo,
                        IDBanco   = banco.IDBanco,
                        Sigla     = banco.Sigla,
                        RowSit    = banco.IDBanco == null ? EnumFlagEstado.NovoRegistro : EnumFlagEstado.RegistroSalvo
                    };

                    novaClasse.Add(cl);
                }

                return(novaClasse);
            }
        //--- VERIFICACAO SE O ITEM ESTA PRONTO PARA SER INSERIDO OU ALTERADO
        private bool VerificaItems()
        {
            classBanco Item = null;

            foreach (DataGridViewRow row in dgvListagem.Rows)
            {
                dgvListagem.EndEdit();

                try
                {
                    Item = (classBanco)row.DataBoundItem;
                }
                catch
                {
                    continue;
                }

                if (string.IsNullOrEmpty(Item.BancoNome))
                {
                    dgvListagem.CurrentCell = row.Cells[1];
                    MessageBox.Show("A descrição do Banco não pode ficar vazia...",
                                    "Campo Vazio",
                                    MessageBoxButtons.OK,
                                    MessageBoxIcon.Information);
                    return(false);
                }

                if (string.IsNullOrEmpty(Item.Sigla))
                {
                    dgvListagem.CurrentCell = row.Cells[2];
                    MessageBox.Show("O número do Banco não pode ficar vazio...",
                                    "Campo Vazio",
                                    MessageBoxButtons.OK,
                                    MessageBoxIcon.Information);
                    return(false);
                }
            }

            return(true);
        }