base ID-number Delete HiddentField myid=(HiddentField)GridView1.Rows[e.RowIndex].FindControls("HiddentField1") helper.exec("delete from Tablename where IDnumber="+myid.value) GridView1.DataSouce=helper.search("select * from Tablename") GridView1.DataBind(); end
估计是没更新
HiddentField myid=(HiddentField)GridView1.Rows[e.RowIndex].FindControls("HiddentField1")
helper.exec("delete from Tablename where IDnumber="+myid.value)
GridView1.DataSouce=helper.search("select * from Tablename")
GridView1.DataBind();
end
删除后还得用SqlDataAdapter.Update同步到数据库
{
if(MessageBox.show("你确认删除吗?","提 示",MessageBoxButtons.YesNo,MessageBoxIcon.Information)==Dia)
{
int Rowid = this.DataGridView.CurrentCell.RowIndex; //根据Rowid找到主键在数据库进行删除
}
DataGridViewDataBind();
}
自己写个方法用来调用数据库里面的数据
删除行后,在调用刷新数据的方法 就可以了!
如果要弹出一个提示的话,也是同样的做法
我是winform写的,当用户中DataGridView第一个单元格输入与其他行第一个单元格值相同的时候就会把整行删除,下面的行上移,所以输入的数据要首先和界面中DataGridView的每一行进行比较,用不到数据库里取数据。
另外我一直怀疑是不是我把这个删除方法的位置写错了,我把this.dataGridView1.Rows.RemoveAt(e.RowIndex)这个方法写在 private void dataGridView1_CellParsing(object sender, DataGridViewCellParsingEventArgs e){}里面的,就是说当用户退出该单元格编辑时发生,如果不是在这个时间里写,那又在哪里写呢?