我在Form1里有个datagridview控件,并已经将其跟一个数据库表绑定好了,我现在想对datagridview里的某一行进行编辑,但不是利用这个控件的特点直接在单元格里编辑,而是想双击某一行,即弹出一个Form2窗体,Form2里显示这一行的内容,然后在Form2里编辑好后点确定,然后Form1里这一行的值就被更改了。
我就是在form2点出来时,无法显示form1里datagridview当前行的内容,这个涉及到窗体间的值传递问题吗?
请说的详细点,最好有代码

解决方案 »

  1.   

    参见:http://community.csdn.net/Expert/topic/5189/5189957.xml?temp=.6943018
      

  2.   

    DataRow row=dSStore1.Store[rowID];
    FrStore fr=new FrStore(row);
    fr.ShowDialog();public FrStore(DataRow row)
    {
       rowName=row;
    }
    参考一下!
      

  3.   

    不是很明白,可不可以给点代码啊
    liujia_0421(SnowLover) ( )  说的好像是单向传值吧
      

  4.   

    TO:不是很明白,可不可以给点代码啊
    liujia_0421(SnowLover) ( )  说的好像是单向传值吧我给你的那个例子,是说把Form2的值传回到Form1..至于如何将Form1的值传到Form2就更简单了,直接通过构造函数就可以了..for example:
    Form1中:
    Form2 frm=new From2(string str);
    frm.ShowDialog(this);Form2构造函数更改一下:
    public Form2(string str)

       //设置数据,比如设置TextBox
       this.TextBox.Text=str;
    }
      

  5.   

    至于Form2回传到Form1,我在那个贴子中已经讲得很详细了..回传有很多种方法,我用的是委托的方式..
      

  6.   

    关于如何传值,秋枫大哥也讲了挺多方法..上面也有例子,好好看看吧..http://blog.csdn.net/zhzuo/archive/2004/04/05/22027.aspx
      

  7.   

    谢谢大家了,给了这么多的答案
    用构造函数的方法
    DataRow row=dSStore1.Store[rowID];
    FrStore fr=new FrStore(row);
    fr.ShowDialog();public FrStore(DataRow row)
    {
     rowName=row;
     }我把值传到form2里了
    可是在form2编辑好后要怎么来更新dataset呢,
    也不知道这行是dataset里的第几行啊,难道在传递行的时候也把dataset也传过去吗