建立一个窗体,里面有dataGridView 然后点添加按钮出现添加信息的界面,添加信息后如何才能在第一个窗体中显示出新添加的信息(求代码)。

解决方案 »

  1.   

    在添加信息的界面的界面写一个事件,在dataGridView窗口中去实现(刷新grid)。当添加成功后执行这个事件。
      

  2.   

    第一个窗口的datagridview显示数据你做到了吗,如果做到了,在添加后刷新第一个窗口的datagridview啊,第一次怎么显示的就怎么刷新
      

  3.   

    写一个构造函数啊,多窗体之间传值啊。
    在 btnadd添加事件中写

    form1 f1=new  form1( datagridview dgv);
    f1.show();然后在添加页面中写
    public datagridview dgv;public frm_add(datagridview dgvs):this()
    {
     dgv=dgvs;
    }
    重新绑定 dgv;这样就行了啊
      

  4.   

    回到添加完成后,刷新datagridview 把绑定的代码再执行一次
      

  5.   

     private void button1_Click(object sender, EventArgs e)
            {
                string No = textBox1.Text;
                string Name = textBox2.Text;
                string Sex = textBox3.Text;
                string ClassID = textBox4.Text;
                string sql = string.Format("INSERT INTO student VALUES ('{0}','{1}','{2}','{3}')", No, Name, Sex, ClassID);            SqlCommand command = new SqlCommand(sql, DBHelper.connection);  // 创建command对象
                DBHelper.connection.Open();  // 打开数据库连接            int result = command.ExecuteNonQuery();  // 执行命令            MessageBox.Show("添加成功");            DBHelper.connection.Close();                    }
    如何在这里面实现啊
      

  6.   

    1、刷新datagridview
    2、手动添加新的纪录到datagridview
      

  7.   


    form1 f1=new form1( datagridview dgv);
    f1.show();
    这里面atagridview 不能当变量来使用啊
      

  8.   


    如果要在里面实现的话就要 循环遍历 第一个窗口的控件,对遍历的控件设置判断,判断是否是那个DataGridView从而得到这个DataGridView 进而对其操作foreach( Control ctrl in this.Owner.Controls)
    {
        if (ctrl.name != "dataGridView")
         continue; 
                                      
    }你要在里面实现还可以有别的方法 多得是 比如说 自己重写 一个form 这个form包含你的第二个form
    你这个业务 根本不需要这样做 这样做就走很多弯路 而且实现不高效 如果是 想加一条信息到数据库 在视图看一条 还不如 直接在dataGridView 后面做个 保存的按钮如果不需要 加一条看一调的话那更简单 把第二个窗口show的是后是 ShowDialog 然后 在
    if (form2.ShowDialog(this) == DialogResult.OK)
    {
    string No = form2.textBox1.Text;
      string Name = form2.textBox2.Text;
      string Sex = form2.textBox3.Text;
      string ClassID = form2.textBox4.Text;
    ......
    }