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

如图所示,C#中在添加窗体中插入数据后,该子窗体消失,还必须同时更新BCSForm主窗体上的datagridview数据,最后新插入的记录成蓝色显示?求各位高手给予解决,... 如图所示,C#中在添加窗体中插入数据后,该子窗体消失,还必须同时更新BCSForm主窗体上的datagridview数据,最后新插入的记录成蓝色显示?求各位高手给予解决,解决后追加分!谢谢了
请给出代码,谢谢啦!
展开
 我来答
百度网友96ffcf7
2015-08-08 · 知道合伙人互联网行家
百度网友96ffcf7
知道合伙人互联网行家
采纳数:22721 获赞数:118724
从事多年网络方面工作,有丰富的互联网经验。

向TA提问 私信TA
展开全部

 private void btnYieldRoleNO_Click(object sender, EventArgs e)
   {
       FromSelectAllYieldRole se = new FromSelectAllYieldRole();//子窗体

       se.Owner = this;//子窗体的拥有者父窗体
       se.ShowDialog();
      // SetValue();
   }

//双击选择数据 
private void dgvShowAll_DoubleClick(object sender, EventArgs e) 

try 

this.Tag = GetDate(); 
FrmYieldTransitEdit fy = (FrmYieldTransitEdit)this.Owner;//父窗体对象 

百度网友e2e8df7
2013-09-13 · TA获得超过258个赞
知道小有建树答主
回答量:283
采纳率:0%
帮助的人:155万
展开全部

几行代码就可以搞定(看一下能满足您的需要不):

Form2中 也就是子窗体

        public delegate void RefreshParentForm(object sender);
        public event RefreshParentForm refreshParent;
 
        private void button1_Click(object sender, EventArgs e)
        {
            //执行你需要的操作,执行成功/失败之后
            if (this.refreshParent != null)
            {
                refreshParent(null);
            }
        }

Form1中 也就是父窗体

        private void button2_Click(object sender, EventArgs e)
        {
            Form2 oauth = new Form2();
            oauth.refreshParent += new Form2.RefreshParentForm(oauth_refreshParent);
            oauth.ShowDialog();
        }
 
        /// <summary>
        /// 要刷新的操作
        /// </summary>
        /// <param name="sender"></param>
        private void oauth_refreshParent(object sender)
        {
            this.lblTime = DateTime.Now;
        }
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友7695b6b
2013-09-12 · TA获得超过165个赞
知道小有建树答主
回答量:126
采纳率:0%
帮助的人:120万
展开全部
在主窗体里面把刷新方法写到一个公有方法里面,初始化子窗口时候申明一下 ,子窗口里面也是 ,之后可以在子窗口里面直接调用该方法就可以刷新了 。举个例子吧
假设父窗口Form1,子窗口Form2,
Form1里面刷新方法
public void dbviewRefresh()
{
///刷新数据表
}

调子窗口的时候这么申明
Form2 f=new Form2();
f.Form1=this;
f.ShowDialog();

然后Form2里面在类的开头申明
public partial class Form2 : Form
{
public Form1 Form1;//申明这个父窗口
。。。。。。
之后在Form2里面要刷新Form1的表 只要调用
Form1.dbviewRefresh();
就可以啦。
追问
f.Form1=this,这句对吗?如何理解?还有我试了一下,好像插入数据后,主窗体上的datagridview没有刷新呀,,求解!
追答
这是申明f的父窗体是Form1,和f.preant一样,你插入数据要调用一下父窗体里面的刷新方法才行啊。没刷新就是你刷新方法的问题
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
Rabbit_eva
2013-09-12
知道答主
回答量:29
采纳率:0%
帮助的人:20.3万
展开全部
你写个刷新代码就可以了撒,设置5秒刷新一次或者10秒,百度刷新datagridview,还有个办法就是判断你插入成功之后updata!希望对你有帮助!!还忙于做项目,不小心看到就帮你解决下。去忙了。。。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
y137089791
2013-09-13
知道答主
回答量:37
采纳率:0%
帮助的人:4.8万
展开全部
你添加的数据时不是保存在数据库中的,如果是的话你在小窗体关闭的时候把后面那个窗体的加载数据方法调用下。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式