winfrom中在子窗体插入数据后如何同时更新主窗体中datagridview数据?

西凉董卓 2017-05-05 11:49:11
我要说明一下,这里主窗体中的dgv并不是直接在主窗体上的,而是在用户控件上的
...全文
219 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
流浪墨尔本 2017-05-06
  • 打赏
  • 举报
回复
 public delegate void ChildRefrsh();
public event ChildRefrsh Refrshfather;
 private void button1_Click(object sender, EventArgs e)
{
        Refrshfather();
        this.Close();
}//子窗体

private void 编辑ToolStripMenuItem_Click(object sender, EventArgs e)
{
        strNO = this.dataGridView1.CurrentRow.Cells[3].Value.ToString();
        EditArticle ea = new EditArticle();
        ea.Refrshfather += new EditArticle.ChildRefrsh(FrmRefresh);
        ea.Show();
}
public void FrmRefresh()
{
}
//父窗体
流浪墨尔本 2017-05-06
  • 打赏
  • 举报
回复
昨天刚做的,可以采用事件的方式。
大鱼> 2017-05-05
  • 打赏
  • 举报
回复
引用 3 楼 duanzi_peng 的回复:
使用同一个BindingList集合,使用DataBinding 方式设置dgv的DataSource。 https://msdn.microsoft.com/zh-cn/library/ms132679.aspx#示例
这个挺好的
exception92 2017-05-05
  • 打赏
  • 举报
回复
使用同一个BindingList集合,使用DataBinding 方式设置dgv的DataSource。 https://msdn.microsoft.com/zh-cn/library/ms132679.aspx#示例
江南小鱼 2017-05-05
  • 打赏
  • 举报
回复
把UserControl和子窗体打通
  • 打赏
  • 举报
回复
你自己要先在“图纸上”画清楚窗体之间、窗体和用户控件的依赖、组合。 原则是,主窗体可以直接访问子窗体的接口方法/属性/事件,主窗体可以直接访问用户控件的接口方法/属性/事件;而这个子窗体、以及这个用户控件应该作为服务,面向重复使用到不同的宿主窗体而设计,因此它们都是使用事件方式来通知自己的宿主(而并不依赖主窗体)。 面向应用,首先把所谓的“数据更改”作为一个业务功能而考虑清楚。这样就能在让子窗体抛出一个事件来通知这个数据改变,例如类似这样的接口内容

public event EventHandler<DataChangedArgs> DataChanged;

public class DataChangedArgs : EventArgs
{
    public MyDataType Data;
}

......
子窗体抛出事件,通知自己的所有宿主对象有数据改变。 主窗体捕获了事件,可以将 Data 数据直接传给你的用户控件。例如你的用户控件可能有接口内容
public MyDataType Data{get;set;}
主窗体就可以直接设置用户控件的 Data。 实际上真正的接口设计要你自己用心来揣摩数据结构、业务描述。并不是纠结技术术语,而是要综合考虑数据结构,并且以业务的描述为核心出发点。

110,539

社区成员

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

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

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