C#dataGridView将数据显示到另外窗体的textBox问题

《1》2个窗体,form1中只有dataGridView1,已经绑定数据库。定义双击事件。被双击的那行数据自动添加到另外一个窗体form2的几个textbox中.这个该怎... 《1》2个窗体,form1中只有dataGridView1,已经绑定数据库。定义双击事件。被双击的那行数据自动添加到另外一个窗体form2的几个textbox中.
这个该怎么做啊?
《2》将dataGridView1中的数据添加到同窗体dataGridView2中并存入数据库中的button按扭。这个又该怎么做啊?
小弟初学者,2个问题,请不吝赐教!
如果是access数据库该怎么做啊
展开
 我来答
百度网友130561a
2009-05-17 · TA获得超过380个赞
知道小有建树答主
回答量:324
采纳率:0%
帮助的人:177万
展开全部

这只是简单的 窗体之间的方法调用而已,

在 form1 的全局中 声明:

  //将 form1 的对象 作为 form2  一个变量。

然后,将 fm1 指向 打开的 form1 窗体。

再用  fm1  调用 form1  的显示的方法。

下面有一个源代码,楼主分析一哈——肯定有用——呵呵...加分吧....

using System;

using System.Collections.Generic;

using System.ComponentModel;

using System.Data;

using System.Drawing;

using System.Text;

using System.Windows.Forms;

namespace 窗体之间相互调用

{

    public partial class Form1 : Form

    {

        public Form1()

        {

            InitializeComponent();

        }

       

        private void btn_Open_Form2_Click(object sender, EventArgs e)

        {

            Form2 fm2 = new Form2();

            fm2.fm1 = this;     //将 窗体自身 作为参数 传递给 Form2

            fm2.Show();         //打开窗体。

        }

        public string get_data = "";  //将被   fm1 调用,于是必须 是 public

        //这个方法将被  fm1 调用,于是必须 是 public

        public void Show_data()

        {

            txt_Get_Data.Text = get_data;

        }

    }

}

////////////////////////////////////////////////////////////////

using System;

using System.Collections.Generic;

using System.ComponentModel;

using System.Data;

using System.Drawing;

using System.Text;

using System.Windows.Forms;

namespace 窗体之间相互调用

{

    public partial class Form2 : Form

    {

        public Form2()

        {

            InitializeComponent();

        }

        public Form1 fm1 = null;

        private void btn_out_Data_Click(object sender, EventArgs e)

        {

            fm1.get_data = txt_out_Data.Text;  //将文本框的字符串 付给 Form1 的 get_data

            fm1.Show_data();     //调用显示 Form1 的 Show_data() 方法。

        }

    }

}

有 Form1 Form2 都是 一个文本框,一个按钮

Form1   按钮:打开Form2 

Form2   按钮:传递数据

点击 Form1 的 按钮 ,Form2 会打开,

在 Form2 中的文本框输入 数据,然后点击 按钮,

你会发现, Form1 中的 文本框出现相同的字符串。

我只不过将 DGV 控件中的数据换成了 文本框 中的 数据, 楼主肯定可以理解。

复制代码时  注意  命名空间。我的项目名称是 “窗体之间相互调用”

命名空间弄错了就会出错的。

我专门做的一个项目,楼主分析哈......

百度网友055c7b10d
2009-05-16 · TA获得超过1171个赞
知道小有建树答主
回答量:565
采纳率:0%
帮助的人:448万
展开全部
private void dataGridView1_CellDoubleClick(object sender, DataGridViewCellEventArgs e)
{
String id = dataGridView1.Rows[e.RowIndex].Cells[0].Value.ToString();
Form2 frm = new Form2();
if(id!="")
{
sql//查询出id列的行
sqlcommand cmd=new sqlcommand(sql,conn);
sqlDataReader dr=cmd.sqlDataReader();
if (dr.read())
{frm.textBox1.Text =dr[ "字段"].tostring();
frm.textBox2.Text =dr[ "字段"].tostring();
}
}
frm.Show();
}

问题2:
private void dataGridView1_CellClick(object sender, DataGridViewCellEventArgs e)
{
for (int i = 0; i < dataGridView1.Columns.Count; i++)
{
dataGridView2[i, dataGridView2.Rows.Count - 1].Value = dataGridView1[i, e.RowIndex].Value;
}
}
//button事件和上面的一样,获取id后,存入数据库,只是if (dr.read())里面内容改变:sql="insert into()values()"
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
CHENEJRUN
2009-05-17
知道答主
回答量:6
采纳率:0%
帮助的人:0
展开全部
《1》 DataGridView的DoubleClick事件
ColumnIndex=DataGridView1.CurrentCell.ColumnIndex; // 取当前列索引
string[] a=new string[ColumnIndex];//如将a定义成static就可以在form2中直接用
for (int i=0;i<ColumnIndex;i++)
{
a[i] = this.DataGridView1.Rows[DataGridView.CurrentCell.RowIndex].Cells[i].Value.ToString()
}
《2》在button的click事件中,同上将取得的值给dataGridView2
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式