如何选中DataGridView某行的值,并显示在另一个窗体中的Textbox中?

2024-11-28 00:52:27
推荐回答(4个)
回答(1):

比如说Form2是新窗体。

在dataGridView的CellMouseDoubleClick中写:

Form2 f2=new Form2("在这里获取要传给它的值");//也就是你双击DataGridView某行某列值
f2.ShowDialog();//显示新窗体

在Form2窗体中这样写:

string str="";//根据你的需要定义变量,我这里为了演示。

1.找到它的构造函数

public Form2(string 传过来的值)//你要换成变量名喔~~
{
InitializeComponent();
str=传过来的值;
}

2.在Form2窗体的Load事件中写:

this.textbox1.Text=str;//这就是你从前一个窗体传到这里的值。

以上代码我还没测试,我使用的是利用构造函数进行窗体之间传递参数。也有其它办法。有不懂的可以问我。。。

回答(2):

dataGridView的datasoure是dataSet还是实体类?
实体类的话。private void dataGridView1_CellContentClick(object sender, DataGridViewCellEventArgs e)
中的 DataGridViewCellEventArgs e为事件委托中的时间集合
e.RowIndex方法换回INT类型数据为选中的索引数。
如果实体类集合为list all=new list();
那么cellBB = (BB)all[e.RowIndex];//可以获得选中的对象。
cellBB为集合类元素。用过实体类的应该看得懂。
到时候文本框显示的数据就是cellBB对象中的成员值就可以了。
我写的很笼统。看不懂可以告诉我我写个具体的。因为建实体类具体内容写的麻烦。如果你用DATASET的话告诉我。再告诉你。

回答(3):

form1中:
//核心代码

private void dataGridView1_CellDoubleClick(object sender, DataGridViewCellEventArgs e)
{
Form2 f2 = new Form2();
f2.Show();
f2.inputValue=dataGridView1.Rows[e.RowIndex].Cells[e.ColumnIndex].Value.ToString();

}
form2 中
//核心代码
public Form2()
{
InitializeComponent();
}
public string inputValue
{
set { this.textBox1.Text = value; }
}

回答(4):

浪曦/Search.aspx这个视频可以解答