winforms: datagirdview问题

lvg 2008-11-22 10:09:48
从数据库中查出的数据显示在datagirdview上,点击datagirdview上的某一行数据然后右键弹出窗体,,把这一行数据显示弹出窗体上的textbox上。

问题: 怎么把主窗体datagirdview上的某一行数据传给弹出窗体的textbox控件?
...全文
159 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
xianshuang 2008-11-22
  • 打赏
  • 举报
回复
我的方法是:
先在主窗体的弹出事件里得到你选中这一行的值,然后在子窗体里用得到,
如:
先定义全局变量
public static string c;
然后得到值:
c = dataGridView1.CurrentRow.Cells[0].Value.ToString();
最近在子窗体里:
textBox1.Text=Form1.c; //form1为你窗体

这是我用的方法,希望对你有帮助
相互学习
啊兵 2008-11-22
  • 打赏
  • 举报
回复
使用

Cells[参数]

可以得到该行的值,得到值就可以传到弹出的窗口上了。
长沙三毛 2008-11-22
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 hulihui 的回复:]
使用BindingSource连接数据库表(DataSet/DataTable),DataGridView和TextBox连BindingSource,此时两个显示控件的数据将同步,不需要特别处理。
[/Quote]呵呵,冒看请你的问题。将BindingSource对象传递给弹出窗体(通过窗体构造函数等),该窗体的TextBox绑定到这个数据源的指定字段也可以保持同步。还是不需要特殊处理。
yistudio 2008-11-22
  • 打赏
  • 举报
回复
将选中的行作为一个参数传递给弹出窗体

System.Windows.Forms.DataGridViewRow dr=this.dataGridView1.Rows[this.dataGridView1.CurrentCell.RowIndex];
Form1 f=new Form1(dr);

在弹出窗体中读取数据

this.textBox1.Text=dr.Cells[0].Value.ToString();
this.textBox2.Text=dr.Cells[1].Value.ToString();
...
长沙三毛 2008-11-22
  • 打赏
  • 举报
回复
使用BindingSource连接数据库表(DataSet/DataTable),DataGridView和TextBox连BindingSource,此时两个显示控件的数据将同步,不需要特别处理。

110,533

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧