出现这样的错误是因为在删除后没有重新绑定。
这样操作,只是应该更改了数据库,但是我们是把datatable赋值给DataSource,这是datatable并没有修改,所以就会出错。
int id = Convert.ToInt32(gvProject.DataKeys[e.NewEditIndex].Value);
int id = Convert.ToInt32(gvProject.DataKeys[e.NewEditIndex].Values[0].ToString());
这两句话的意思是一样的,我平时用第一句话,是因为此时刚好是values[0],而
values[0]=value,
所以不会有任何问题。
可是如果有时我要是取得values不是第一个怎么办,如果还按第一个语句写的话,那么就出错了。