为什么我在datagrid控件中删除一行,需要点2次删除按钮???????????
我用datagrid控件实现编辑和删除,但是在删除的时候每次都要点2次删除件,要不就要更新,才可以实现删除功能.
大概的代码如下
SqlCommand cmddel=new SqlCommand("delete from worker where id=@id",sqlconnection1);
Sqlparameter par1=new Sqlparameter("@id",SqlDbType.INT);
par1.value=datagrid1.Datakeys[e.Items.Itemindex];
cmddel.Sqlparameter.add(par1);
cmddel.connection.open();
cmddel.excutenonarycmddel.connection.close();
datagrid1.edititemindex=-1;
sqladapter1.fill(dataset1);
datagrid.databind();可能有些单词不对,是我记不清楚了,但是在机器上是正确的,不影响运行.
我只是想知道根据这样的代码为什么我在datagrid控件中删除一行,需要点2次删除按钮.谢谢大家了
我用datagrid控件实现编辑和删除,但是在删除的时候每次都要点2次删除件,要不就要更新,才可以实现删除功能.
大概的代码如下
SqlCommand cmddel=new SqlCommand("delete from worker where id=@id",sqlconnection1);
Sqlparameter par1=new Sqlparameter("@id",SqlDbType.INT);
par1.value=datagrid1.Datakeys[e.Items.Itemindex];
cmddel.Sqlparameter.add(par1);
cmddel.connection.open();
cmddel.excutenonarycmddel.connection.close();
datagrid1.edititemindex=-1;
sqladapter1.fill(dataset1);
datagrid.databind();可能有些单词不对,是我记不清楚了,但是在机器上是正确的,不影响运行.
我只是想知道根据这样的代码为什么我在datagrid控件中删除一行,需要点2次删除按钮.谢谢大家了
是不是该放在itemcommand事件里面
我的page_load()中是这样写的
page_load()
{sqlsqladapter1.fill(dataset1);
if(!ispostback)
datagrid1.databind();
}
这样对吗
不对的话请给出代码,谢谢了,搞明白后立即结账
你在删除后,要重新bind一下dataGrid!这样的问题是新人常犯的!!
你找找以前的贴子N个人问过的
你的代码没给全,你发全了,给你改一下
if(!Page.IsPostBack)
{
BindGrid();
}方法中在删除代码后加入
BindGrid();
{sqlsqladapter1.fill(dataset1);
if(!ispostback)
datagrid1.databind();
}
SqlCommand cmddel=new SqlCommand("delete from worker where id=@id",sqlconnection1);
Sqlparameter par1=new Sqlparameter("@id",SqlDbType.INT);
par1.value=datagrid1.Datakeys[e.Items.Itemindex];
cmddel.Sqlparameter.add(par1);
cmddel.connection.open();
cmddel.excutenonarycmddel.connection.close();
datagrid1.edititemindex=-1;
sqladapter1.fill(dataset1);
datagrid.databind();
这就是关于删除的全部代码 我的sqlsqladapter1都是用控件定义的
请帮我改一下吧