刚刚学习C#和SQL2005
正在学习做个简单的人员信息管理系统尝试实现在form1中点击“修改”按钮  弹出窗口form2
form2的内容为 输入要修改的信息  确认修改  取消修改现在出现的问题的是 不知道怎么将form1的DataGridView传到form2
传不到的话我就不会怎么修改了...求大神帮助  不想用类调用的方法 因为其他的增删查都没用类调用  改起来太麻烦了还有就是我的DataGridView是没有选择数据源的
用的以下方法显示
string sql = "select * from information ";
            adapter = new SqlDataAdapter(sql, conn);
            dsInformation = new DataSet();
            try
            {
                adapter.Fill(dsInformation, "myinformation");
            }
            catch (Exception ex)
            {
                MessageBox.Show("出错了!原因是:" + ex.Message);
            }
            dgvInformation.DataSource = dsInformation.Tables["myinformation"];

解决方案 »

  1.   

    把你要传的值 在form1 写成属性,就ok
      

  2.   


    哦?不太明白哎... 把DATAGRIDVIEW写进属性?不懂...
      

  3.   

    你搜下窗体间传值        public static string strStoreGrade = "";        private string _strGradeValue;
            public string strGradeValue
            {
                set { this._strGradeValue=value;}
                get { return this._strGradeValue; }
            }
           private void btnSubmit_Click(object sender, EventArgs e)
            {
                this._strGradeValue = strStoreGrade;
                this.DialogResult = DialogResult.OK;
                this.Close();
            }只能给你些参考代码了
      

  4.   


    简单点的话就在Form2写个传入DataGridView的构造函数public partial class Form2 : Form
    {
    private DataGridView m_Grid;
    public Form2()
    {
    }
    public Form2(DataGridView grid)
    {
    m_Grid=grid;
    }

    private void DoSomeThing()
    {
    //ToDo 
    }

    在WinForms程序里实现窗体传值的最佳实践   http://topic.csdn.net/u/20110407/19/c1068d69-7331-4d02-bc0b-f5ba7a5f8dd8.html
      

  5.   

    你在一个窗体修改数据以后,跳转到第二个窗体
    你在弹出第二个窗体的时候,是用Form2 f = new Form2();
    你现在把你的 申请全局变量:datable da = dsInformation.Tables["myinformation"];
      然后把这个da当作参数放到
    Form2 f = new Form2(da);
    这样来打开Form2当然,你的Form2会提示需要参数。你在Form2里面也加一个全局的da2, datable da2 = da;
    在Form2加载的时候,就把da2放到Form2里面的 dgvInformation.DataSource = da2;