在form 之间切换的时候 datagridview里面数据的状态是保持的, 但不存入数据库 
如果用户点击按钮之后 存入数据库 
这个如何实现哦??有代码更好了哈= =

解决方案 »

  1.   

    切换Form的时候,如果你的Form不是新创建,DataGridView的数据就是保持的
    点击按钮的时候,循环遍历DataGridView的行,存入数据库
      

  2.   

          SqlConnection thisConnection = new SqlConnection(
                     @"Server=.;Integrated Security=True;" +
                    "Database=northwind");            SqlDataAdapter thisAdapter = new SqlDataAdapter(
                     "SELECT CustomerID, CompanyName FROM Customers where 1=2", thisConnection);            SqlCommandBuilder thisBuilder = new SqlCommandBuilder(thisAdapter);            DataSet thisDataSet = new DataSet();
                thisAdapter.Fill(thisDataSet, "Customers");
                DataRow thisRow = thisDataSet.Tables["Customers"].NewRow();
                thisRow["CustomerID"] = "ZAZI";
                thisRow["CompanyName"] = "Zachary Zithd.";
                thisDataSet.Tables["Customers"].Rows.Add(thisRow);
                thisAdapter.Update(thisDataSet, "Customers");            thisConnection.Close();
      

  3.   

    怎么确定这个Form是不是新建的?
    一般都是   (form名).(定义名)= new (form名)(); 
      然后      (定义名).show();
      

  4.   


    //按钮单击事件中,循环插入数据库
                    for (int i = 0; i < this.dataGridView1.Rows.Count-1; i++)
                    {
                //数据库连接就自己写吧
                            strSql = "insert into 数据库"
                            opAcc.executeSql(strSql);
                        
                    }
      

  5.   


    你切换窗体后,只要没有关闭,数据就是保留的,,你可以把有
    DataGridView的窗体对象传递到,你切换的窗体类中去,,DataGridView的访问属性为public就可以在切换的窗体上对DataGridView中的数据保存
      

  6.   

    楼主的多个窗体的datagridview是绑定的一个数据源吗?还是每个窗体的datagridview都不相同?窗体之间的切换不会影响到datagridview的状态的啊,只要你不让他保存。
      

  7.   

    恩 连接的是一个access文件里面的几个表
    回复Sandy945 大大的话      恩    之前自己弄了下 可是怎么都弄不成功。。只好再来问了。。
      

  8.   

    直接在绑定的数据源上执行DataTable的GetChanges就能够获得所有的更改。不用遍历什么DataGridView。
      

  9.   

    >< 没看题... 看着lz的图象 我就乐了...
      

  10.   

    通过Button 和 Treeview咯= = 
      

  11.   

    (form名).(定义名)= new (form名)(); 
    (定义名).show(); 就这样做的啊    然后在打开的Form里面运行一个打开表的变量= =在这里弱弱的说一句= =  在Form里面我没有绑定数据源 我是通过oledb直接打开的= = 
      

  12.   

    假设 你现在有 两个 Form , Form1 与 Form2你现在打开了 Form1 ,然后 在Form1  的一个Button 中 要打开Form2 Form2   form =new Form2();
    form.Show();
     
    现在你的Form1 不隐藏么?你打开Form2 之后 在切换回来, Form1  的内容就是你改变的内容 
      

  13.   

    在这里弱弱的说一句= =  在Form里面我没有绑定数据源 我是通过oledb直接打开的= = 
    -----------------------------------------------------------
    dataGridView1.DataSource=...这个也没有么?
      

  14.   

    现在你的Form1 不隐藏么? 你打开Form2 之后 在切换回来, Form1  的内容就是你改变的内容 
    不太懂这句= =    
      

  15.   

    Form1 不隐藏 ,那 就会两个 Form 都是 Show 的状态
    -----------你打开Form2 之后 在切换回来, Form1  的内容就是你改变的内容
    Form2 Show 再 Close ,  Form1 的内容就是你之前操作的内容不知道你说的状态改变 是什么情况
      

  16.   

    如果按你这么说的话  应该是close了Form1  然后打开Form2吧= =
    再打开Form1   Form2又关闭了。。
      

  17.   

    你两个Form 间的 数据源是一样的么?
      

  18.   

    你可以用session变量来把DataGridView的值保存了,这样在页面关闭之前这个值就一直可以用啊。