DataRow findrow = ds.Tables["供方进料不合格统计表"].NewRow();
findrow["供应商"] = 供应商TextBox.Text;
ds.Tables["供方进料不合格统计表"].Rows.Add(findrow);
da.Update(ds, "供方进料不合格统计表");
dataGridView1.DataSource = ds.Tables["供方进料不合格统计表"];            
MessageBox.Show("保存成功");
实际上我已经添加成功了,但是dataGridView1 看起来没有多一条记录,必须我关掉后,重新打开才行,有没有什么办法,保存后,立即可以看到最新的数据呢

解决方案 »

  1.   

    要重新打开连接,用数据适配器进行数据集的填充,
    然后再dataGridView1.DataSource = ds.Tables["供方进料不合格统计表"];            
      

  2.   

    ds.Tables["供方进料不合格统计表"];     假如有一万条记录呢,有没有更好的办法处理得快一点,
      

  3.   

    试了一下,没有发现这个问题。
    对数据源操作,dataGridView1可以马上反应过来。
      

  4.   

    稍微试了一下,没有问题。
            private void Form1_Load(object sender, EventArgs e)
            {
                DataTable dt = new DataTable();
                dt.Columns.Add("abc");            this.dataGridView1.DataSource = dt;        }        private void button1_Click(object sender, EventArgs e)
            {
                DataTable dt = this.dataGridView1.DataSource as DataTable;
                DataRow row = dt.NewRow();
                row[0] = "aaa";
                dt.Rows.Add(row);
            }
      

  5.   

    不需要再次Fill~~~DataTable的改变可以直接反映到 DataGridView 中去的!!!
    是不是你哪里写错了???
    要不加个 ds.acceptchanges() 试试 ?
      

  6.   

    更新以后重新绑定一下可以吧?
    datagridview.databind();
      

  7.   

    datagridview1只有databindings方法,没有databind()方法,
    dataGridView1.DataBindings(); 
    这样子写在运行的时候出错,不能这样子用,
    加上ds.acceptchanges()  也不行,
      

  8.   


    根本无法使用databind,不存在这个方法,这个方法只存在于datagrid控件中吧
      

  9.   

    重新打开连接,用数据适配器进行数据集的填充, 
    然后再dataGridView1.DataSource = ds.Tables["供方进料不合格统计表"];  
      

  10.   

               findrow["检验员"] = 检验员TextBox.Text;
                findrow["保存时间"] = DateTime.Now;            
                ds.Tables["供方进料不合格统计表"].Rows.Add(findrow);            
                da.Update(ds, "供方进料不合格统计表");
                da.Fill(ds);
                ds.Tables[0].TableName = "供方进料不合格统计表";
                dataGridView1.DataSource = ds.Tables["供方进料不合格统计表"];  
                MessageBox.Show("保存成功");
    天啊,我重新fill一次,datagridview1的数据居然还是没有变,撞鬼了,
      

  11.   

    不过SQL SERVER 里数据的确是增加了一条