点击按钮新建了一条记录到sql数据库中,但dataGridView不自动刷新,用dataGridView1.refresh()也不行。看了很多教程说要重新绑定数据源,具体怎么重新绑定呢?或者有其他什么办法?求解答

解决方案 »

  1.   

    this.dataGridView1.DataSource = list;
      

  2.   

    重新绑定
    DataTable dt=你数据库查询的数据
    this.dataGridView1.DataSource =dt;
      

  3.   

    将你第一次用datagridview显示数据的几句代码复制粘贴到按钮事件中再执行一遍
      

  4.   

    我是菜鸟 datagridview是拖出来的,然后都是下一步,下一步搞出来的,没写一句代码,请问重新代码要怎么写呢?
      

  5.   

    如楼上所述,我没写代码= =,form_load中的代码是这样的:
                // TODO: This line of code loads data into the 'studentinfoDataSet.sinfo' table. You can move, or remove it, as needed.
                this.sinfoTableAdapter.Fill(this.studentinfoDataSet.sinfo);
    我把这段代码剪切到button_click中居然没用,上面注释不是说可以remove吗?另外:重新绑定的代码要怎么写呢?
      

  6.   

    没看懂,添加到界面上是什么意思?我的数据更新到数据库中了,但是datagridview中不会自动刷新,必须关闭窗口重新运行才能显示
      

  7.   


    就是直接在datagridview上Add一个新的row,看上去像从数据库里面提取来的一样~~  如果能保证数据正确添加到数据库这样没问题了。
      

  8.   

    不行啊 当控件被数据绑定时,无法以编程方式向datagridview的行集合中添加行
      

  9.   

    不行啊 当控件被数据绑定时,无法以编程方式向datagridview的行集合中添加行
      

  10.   

    那就要先得到数据集,你将要绑定的内容,然后 遍历循环让 一条条的内容得到单元格的内容
    然后添加datagridview里边,dataset ds=;
    for (int shu=0;shu<ds.tables[0].rows.count,shu++)
    {
    datagridviewrow row=new  datagrideviewrow();
    row.createcell(dgv);string name=ds.tables[0].rows[shu].cells[0].value.tostring();
    row.celss[0].value=name;
    dgv.rows.add(row);
    }
      

  11.   

    不行啊 当控件被数据绑定时,无法以编程方式向datagridview的行集合中添加行
    这句话就是说你 已经给dgv添加数据了,不能再次添加行了,
    就好像人已经穿上衣服了,就没办法试穿其他的了
      

  12.   

    谢谢你啊 我的问题解决了。我根据你的思路把数据源取消了绑定,添加数据后重新把datagridview填充一遍