DataGrid1.DataSource = getData(...)        //getData返回 sqldatareader
DataGrid1.DataBinder();
上面的必须放在
if(!IsPostBack)
{}

解决方案 »

  1.   

    如果使用了Access数据库,请下载微软的最新Access驱动。
      

  2.   

    可不可以考虑在删除之后,把DataGrid所删除的那一行隐藏调就OK了。从那个传入参数e可以获得。
      

  3.   

    在DataGrid里面Delete要用模板列,里面放上button,然后再像你那样做。还有就是,把数据邦定放在if(!IsPostBack){}里面
      

  4.   

    OK,我现在正在测试大家的方法,首先非常非常感谢大家~~~~~~~~~1。隐藏所删除的行的方法可行~~~~,思路非常好,感谢 jasper_liu(波仔) 。2。把代码放在if(!IsPostBack){}里面是不会再从新绑定数据的,
    因为我已经在Page_Load事件里,在if(!IsPostBack){}里绑定了数据源可以肯定的是按一次删除,然后从新绑定数据,一总出发了2次删除的事件,我真的不明白为什么,另外我认为,每出发一次ItemCommand事件,DataGrid应该自己自动更新一次,不知道为什么不又没有发生