quinta-feira, 11 de outubro de 2007

Criando um Gridview para deletar dados


Gridview, CheckBox, Button e uma Label

Na label, não fazemos nada... apenas damos um titulo ao nosso gridview;
No Gridview será necessário criar uma coluna do tipo template, e adicionar um checkbox com o nome de 'chk' , também é necessário adicionar a propiedade datakeynames do gridview o nome da coluna PK, Agora vamos ao nosso Codebehind e adicionamos as seguintes linhas:

private void delAcaoEvento(Int32 Codigo)
{
// Usamos o Npgsql para acesso aos dados contidos no Postgres
NpgsqlCommand comm = new NpgsqlCommand();
comm.Connection = con;
String strDel;
strDel = "delete from adm_teste.tbeventos where cod_evento = " + Codigo;
comm.CommandText = strDel;
con.Open();
comm.ExecuteNonQuery();
con.Close();
}
O codigo acima é uma função que vai ser usada dentro do evento click do botao deletar:

protected void btnDeletarEvento_Click(object sender, EventArgs e)
{
foreach (GridViewRow row in this.gvEventos.Rows)
{

// Criamos uma Variavel do Tipo CheckBox e Localizamos ela dentro da
//row que é do tipo da nossa gvEventos
CheckBox chk = (CheckBox)row.FindControl("chk");
if (chk.Checked == true)
{
delAcaoEvento(Convert.ToInt32(this.gvEventos.DataKeys[row.RowIndex].Value));
}
}
}