DataGridView 窗体间传值

ttiimm11 2009-08-03 12:25:45
各位大侠好:

我想实现,在父窗体的DataGridView上双击,弹出子窗体,并显示双击行的详细信息,子窗体中的项更改后,再显示在DataGridView上,然后单击上传按钮,将改好的数据上传服务器。(C# VS2005 SQL2000)
我不懂的地方是,弹出子窗体,修改后,如何传值到父窗体的DataGridView并实时显示出来。

下面是父窗体的DataGirdView数据绑定代码:

private void showdb(string sqlstr)
{
TTIIMM_Main.myad = new SqlDataAdapter(sqlstr, DB.ConnectStr);
TTIIMM_Main.myad.Fill(TTIIMM_Main.mydata, "gvSearchPO");
dataGridView1.DataSource = TTIIMM_Main.mydata.Tables["gvSearchPO"].DefaultView;

}

private void btnSearch_Click(object sender, EventArgs e)
{
string SelectComman = "Select * from DBPO";

showdb(SelectComman);

}

下面是双击传值到子窗体代码:

private void dataGridView1_CellDoubleClick(object sender, DataGridViewCellEventArgs e)
{
string PONO = dataGridView1.Rows[e.RowIndex].Cells[0].Value.ToString();
F_PurchaseOrder checkPO = new F_PurchaseOrder(PONO);
checkPO.ShowDialog();
}

希望能得到各位的帮助。先谢谢你们了。
...全文
202 6 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
lsj_zrp 2009-08-03
  • 打赏
  • 举报
回复
this.dataGridView1.Rows[0].Cells[0].Value="123";
修改Datagridview的第一行第一列的值为“123”
ttiimm11 2009-08-03
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 lsj_zrp 的回复:]
可以用ShowDialog
子窗体修改后把修改的值传回来(可以用子窗体的属性来传回值),再修改父窗体里面对应的值
[/Quote]

谢谢你的回复。如果父窗体把修改值接收到以后,如何在DataGridView里显示(此修改过程还没有涉及到数据库的更新)
ttiimm11 2009-08-03
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 wuyq11 的回复:]
在父窗体定义代理函数,在子页面通过代理重新绑定数据到datagridview
或用 frm.ShowDialog();
弹出窗体,
if (frm.DialogResult == DialogResult.OK)
  {}绑定数据

[/Quote]

先谢谢你的回复,我水平实在有限,没有看懂你的意思。

数据首次在父窗体绑定成功后,一直到后来的子窗体传值改变,都没有涉及到数据库的更新。只有我点击“上传”按钮后,才将更改后的数据更新到数据库。
lsj_zrp 2009-08-03
  • 打赏
  • 举报
回复
可以用ShowDialog
子窗体修改后把修改的值传回来(可以用子窗体的属性来传回值),再修改父窗体里面对应的值
hecker728 2009-08-03
  • 打赏
  • 举报
回复
DataGridView  定义为public
wuyq11 2009-08-03
  • 打赏
  • 举报
回复
在父窗体定义代理函数,在子页面通过代理重新绑定数据到datagridview
或用 frm.ShowDialog();
弹出窗体,
if (frm.DialogResult == DialogResult.OK)
{}绑定数据

111,098

社区成员

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

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

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