我在windowform中添加了一个datagridview控件,添加了相应的数据源,添加了一个按钮“添加一条记录”。
我在vs2010中使用C#语言,调试阶段:
点击按钮“添加一条记录”,在界面上不能立即显示添加的记录,只能等到窗口关闭,下次打开才能显示添加的内容。
怎样才能让结果立即反应在datagridview中?
注:在sql server2008中,对于的数据表也相应的添加了一条记录。

解决方案 »

  1.   

    一楼说得对,你添加一条数据以后重新绑定一下gridview里面的数据就行了
      

  2.   

    这是我的实现:
      private void btn_addRecord_Click(object sender, EventArgs e)//插入新的记录
            {
                
                SqlCommand sqlCom4 = new SqlCommand();
                sqlCom4.Connection = sqlCon2;
                sqlCom4.CommandText = "Insert Into tb_Introduction(ID,Introduction) Values (30000000,'请输入图片描述')";
                if (sqlCom4.Connection.State==ConnectionState.Closed)
                {
                    sqlCom4.Connection.Open();
                }
                
                sqlCom4.ExecuteNonQuery();
                sqlCom4.Connection.Close(); 
                
            }
    就是不能立即将添加的记录显示出来。
      

  3.   

    你需要把取出数据 绑定到控件上的逻辑抽取出来写成一函数 比如叫BindData()
    然后执行完sql后 在调用下BindData()函数 
    明白了吧
      

  4.   


      sqlCom4.ExecuteNonQuery();
      sqlCom4.Connection.Close(); 
      //把你用于显示数据的方法添到这里就好了。
      

  5.   

    我加了一句:
    this.tb_IntroductionTableAdapter.Fill(this.db_PictureViewDataSet1.tb_Introduction);
    能立即显示出来本次操作的结果,但是,游标会指到第一条。
      

  6.   

    用代码绑定你的datagridview数据吧,这样你就知道什么是重新绑定了。
      

  7.   

    1.增加数据2.查询数据 (Entity, DataTable ,DataSet, List`[T],Dictionry<K,V>)3.从内存(持久层)或数据库从新抓取数据。4.绑定到 UI(DATAGRIDVIEW)
      

  8.   

    就像楼上几位说的,需要重新绑定一下数据源就行了。windowform桌面应用程序跟web不一样。web对服务器控件自动进行回传刷新,这样就实现了重新绑定,windowform只能在添加一条后在重新绑定一次了。