vs2010+c#+winform环境。
界面上有一个dataGridView1控件,我在Form_Load()事件中使用了自定义的dgvWeight_bind();函数,为其绑定数据并显示,很正常。在一个Button1按钮中的Click()事件代码中删除数据表的一条记录,并接着用了语句dgvWeight_bind();,希望重新绑定数据后可以看到删除记录后的结果,不知怎么搞的不起作用。我试了添加一条记录重新绑定数据dataGridView1控件还是看不到变化。非得在界面上再放一个Button2,其Click()里面放上dgvWeight_bind();这一句,在点击了删除Button后在点击Button2,界面上的dataGridView1控件才会刷新。Why?

解决方案 »

  1.   

    ViewState会记录控件的状态,就算你的数据删除了,ViewState记录的并没变,所以控件没变化。。所以你删除的时候要重新绑定,你可以直接在button1的click事件里在删除数据的代码后面加一条dgvWeight_bind();就好了
      

  2.   

    我就是在删除记录后调用dgvWeight_bind();重新绑定数据源,结果不起作用啊。
      

  3.   

    我晕,我看错了,你这是winform的,我说的是webform的。。
      

  4.   

    肿么可能不起作用?
    1.你确定你的那条数据删除成功?
    2.你确定dgvWeight_bind();方法里面是重新去库里面重新查询的数据,确定这个方法里面没有把上次查询出来的结果放到一个坑爹的全局变量里面,完后以后调用这个方法都是绑定的那个东西?
      

  5.   

    各位:我反复看了代码,确实是数据删除成功且重新绑定了数据。
    我做了实验,结果发现,若挂的是Sql Server 数据库就没事,可以即时刷新数据,而若挂接的是Access2007这样的数据库,就会出上述的问题!
      

  6.   

    不知各位有否遇到dataGridview重新绑定Access数据源却无法即时刷新显示的问题?