Criando image button no dataGridView dinamicamente

Este post ensina a criar dinamicamente button no DataGridView

Crie um método responsável por instanciar um novo DataGridViewImageColumn.

//Método que cria o texto da coluna e insere a imagem na coluna private void CriaButtonNoGrid(DataGridViewImageColumn, _nome, string _text,string _headerText, string _image) { _nome = new DataGridViewImageColumn(); _nome.Name = _text; _nome.HeaderText = _headerText; DataGridView1.columns.Add(_nome) //Aqui você coloca o nome do seu dataGrid, e cria a(s) coluna(s) } //Crie o método click do GridView manualmente private void DataGridView1.CellClickExclui(object sender, DataGridViewCellEventArgs e) { try { //Colocar aqui o numero da coluna que você criou, estes métodos que passo aqui criam as ultimas colunas if(e.ColumnIndex == ? ) { //no nosso exemplo aqui chamo um método para exclusão de registro } else if(e.columnIndex == ?) { //Aqui levo os dados no datagrid para edição nos seus respectivos campos } } catch (Exception ex) { messageBox.Show("Ocorreu um erro: " + ex.message,"Alerta",MessageBoxButtons.Ok,MessageBoxIcon.Information); } } //Após criados os dois métodos , Crie um método para carregar seu dataGrid com os dados do banco private void carregaGrid() { DataGridView1.Columns.Clear();//Limpa as colunas do Grid, senão poderia recriar as colunas constantemente try { DataGridView1.Datasource = ();//*Seu código Sql para prencher o data Grid* //Eu costumo utilizar uma classe para acesso a dados, nessa classe construo um método para listar meus dados //Crie a instancia da nova coluna var excluir = new DataGridViewImageColumn(); var editar = new DataGridViewImageColumn(); //Chame o método criado anteriormente respnsável por criar as colunas no GRID //Parametros são: nome da coluna,cabeçalho da coluna, caminho da imagem; CellClickExclui(editar,"Editar","Caminho da sua imagem editar"); CellClickExclui(excluir,"Excluir","Camonho da sua imagem excluir"); //Sempre que você carregar seu dataGrid com esse método ele irá criar esses butons nas ultimas colunas. } catch (Exception ex) { messageBox.Show("Ocorreu um erro: " + ex.message,"Alerta",MessageBoxButtons.Ok,MessageBoxIcon.Information); } //Agora por ultima inclua no Load do seu formulária o evetHandler do click, dessa forma private void Form1_Load(object sender, eventArgs e) { DataGridView1.CellClick += new DataGridViewCellEventHandler(dgwAplicativos_CellClickExclui); }
Ebook exclusivo
Dê um upgrade no início da sua jornada. Crie sua conta grátis e baixe o e-book

Artigos relacionados