DataGridView在窗体间传值

rcsglydm 2012-04-08 11:01:10
在主窗体frmMain上设置DataGridView,名称:dgvEquipmentList,用于显示数据库中的数据,并在工具栏设一个button控件,名称toolStripButton5。在子窗体test上设置textbox控件,名称txtBH,显示DataGridView控件中的某一字段BH值。
主窗体代码如下:

//创建工具栏响应
private void toolStripButton5_Click(object sender, EventArgs e)
{
toolStripMenuItem28_Click(sender, e);
}

//创建工具栏事件
private void toolStripMenuItem28_Click(object sender, EventArgs e)
{
if (dgvEquipmentList.RowCount > 1)
{
DataSet ds = oper.GetDataSetZC(dgvEquipmentList.SelectedCells[1].Value.ToString());
if (ds.Tables[0].Rows.Count > 0)
{
test pdf = new test();//创建子窗体对象
pdf.M_frmMain = this;
pdf.M_str_BH = dgvEquipmentList.SelectedCells[1].Value.ToString();
pdf.ShowDialog();//显示子窗体
}
else
{
MessageBox.Show("用户选择的数据不存在!", "系统提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
this.DataBindGridViewList();
}

}

}



子窗体代码如下:

BaseClass.Operation oper = new EquipmentMS.BaseClass.Operation();//创建数据连接对象
public frmMain M_frmMain = null;
public string M_str_BH = "";

public test()
{
InitializeComponent();
}

private void test_Load(object sender, EventArgs e)
{
DataSet ds = oper.GetDataSetZC(M_str_BH);
txtBH.Text = ds.Tables[0].Rows[0]["BH"].ToString();
}


但是,子窗体中的txtBH控件,一直是空的,不显示值。请问,代码哪错了?
...全文
89 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
rcsglydm 2012-04-08
  • 打赏
  • 举报
回复
M_str_BH 初始值设为空,是为了主窗口赋值方便。在主窗口调用子窗口后,将M_str_BH 传过来,直接使用GetDataSetZC(M_str_BH )方法从数据库中查找符合条件的记录。
楼上说的修改,是什么意思?
EnForGrass 2012-04-08
  • 打赏
  • 举报
回复
[Quote=引用楼主 的回复:]
在主窗体frmMain上设置DataGridView,名称:dgvEquipmentList,用于显示数据库中的数据,并在工具栏设一个button控件,名称toolStripButton5。在子窗体test上设置textbox控件,名称txtBH,显示DataGridView控件中的某一字段BH值。
主窗体代码如下:
C# code

//创建工具栏响应
pr……
[/Quote]
public string M_str_BH = ""; oper.GetDataSetZC(M_str_BH);你修改M_str_BH的值了吗?
传值方法看看 http://www.cnblogs.com/tomin/archive/2009/02/25/1397677.html

111,126

社区成员

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

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

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