双击主窗体datagridView某行弹出子窗体,在子窗体下对该行进行实时编辑
双击主窗体datagridView某行弹出子窗体,在子窗体上对该行进行实时编辑
主窗体界面:
主要代码:
子窗体界面:
主要代码:
现在的问题是,比如我在主窗体上第1行双击弹出子窗体,在子窗体编辑后关闭,必须用鼠标点击主窗体的其它行,第1行的数据才会改变。请问有没有什么办法实现一关闭子窗体时主窗体就立刻更新?
------解决方案--------------------
this.dataGridView1.Refresh(); 试一下
主窗体界面:
主要代码:
- C# code
public delegate void AsyncDelegate(); public void ShowChild()//弹出子窗体 { CFrmChild FrmChild = new CFrmChild(dgv.CurrentRow); FrmChild.ShowDialog(); } private void dgv_CellDoubleClick(object sender, DataGridViewCellEventArgs e)//双击弹出子窗体 { AsyncDelegate dlgt = new AsyncDelegate(this.ShowChild); IAsyncResult ar = dlgt.BeginInvoke(null, null); dlgt.EndInvoke(ar); }
子窗体界面:
主要代码:
- C# code
private DataGridViewRow dgvrMain; public CFrmChild(DataGridViewRow dgvr) { InitializeComponent(); this.dgvrMain = dgvr; //txtNum.Text = dgvr.Cells["ZHLDAH"].Value.ToString(); txtNum.DataBindings.Add("Text", dgvr.DataBoundItem, "ZHLDAH");//质量档案编号 txtNote.DataBindings.Add("Text", dgvr.DataBoundItem, "ZHUYSX");//注意事项 } private void btnOK_Click(object sender, EventArgs e)//确定 { dgvrMain.Cells["ZHLDAH"].Value = txtNum.Text; dgvrMain.Cells["ZHUYSX"].Value = txtNote.Text; this.Close(); }
现在的问题是,比如我在主窗体上第1行双击弹出子窗体,在子窗体编辑后关闭,必须用鼠标点击主窗体的其它行,第1行的数据才会改变。请问有没有什么办法实现一关闭子窗体时主窗体就立刻更新?
------解决方案--------------------
this.dataGridView1.Refresh(); 试一下