我有一个A窗体,b窗体 c窗体
①a窗体里边有一个Groupbox groupBox1.Controls.Add(b) groupbox控件添加了b窗体
②b窗体有一个DataGridView DataGridView绑定了数据里边的一个表(T_item)的数据
③b窗体有一个按钮Button1 Button1 弹出c窗体 c.show()
所以你看到的界面就是a窗体 b窗体是在a窗体的Groupbox里边,c窗体弹出的位置是在a窗体外边,不知道我这样表达大家能理解不
现在的问题是当我在c窗体上表T_item表进行了修改 删除操作之后 a窗体上Groupbox 里边的b窗体上的数据没有刷新 我的代码如下
b窗体
public b()
{
InitializeComponent();
GridViesDB();//窗体加载之后就直接绑定Datagridview
}当我c窗体上要操作关闭c窗体的时候 代码如下
;
if (DialogResult.Yes == MessageBox.Show("是否关闭窗体", "是否关闭窗体", MessageBoxButtons.YesNo))
{
b bchuangti =new b();
//因为b窗体加载的时候就绑定DataGridVIEW 所以只到这一步就可以了,我调试了,执行到这里的时候 DataGridVies 重新绑定了,
this.Close();
}我现在就是想当我对数据库表T_item进行修改删除操作之后,我想让a窗体所显示的DataGridview刷新数据
①a窗体里边有一个Groupbox groupBox1.Controls.Add(b) groupbox控件添加了b窗体
②b窗体有一个DataGridView DataGridView绑定了数据里边的一个表(T_item)的数据
③b窗体有一个按钮Button1 Button1 弹出c窗体 c.show()
所以你看到的界面就是a窗体 b窗体是在a窗体的Groupbox里边,c窗体弹出的位置是在a窗体外边,不知道我这样表达大家能理解不
现在的问题是当我在c窗体上表T_item表进行了修改 删除操作之后 a窗体上Groupbox 里边的b窗体上的数据没有刷新 我的代码如下
b窗体
public b()
{
InitializeComponent();
GridViesDB();//窗体加载之后就直接绑定Datagridview
}当我c窗体上要操作关闭c窗体的时候 代码如下
;
if (DialogResult.Yes == MessageBox.Show("是否关闭窗体", "是否关闭窗体", MessageBoxButtons.YesNo))
{
b bchuangti =new b();
//因为b窗体加载的时候就绑定DataGridVIEW 所以只到这一步就可以了,我调试了,执行到这里的时候 DataGridVies 重新绑定了,
this.Close();
}我现在就是想当我对数据库表T_item进行修改删除操作之后,我想让a窗体所显示的DataGridview刷新数据
如果C中数据有变化,则修改flag = true;
然后B窗体中:
C c = new C();
c.Show();
然后定时检查c.flag是否为true,是则刷新,否则不管。
刷新后把c.flag 重置为false
不知道是否可行。
PS:既然c是弹出框,干嘛非要在c中删除后就刷新b的数据。c直接做成模式窗口,不允许再次操作b中数据,等关了后再刷新不是更好?
C c = new C();
c.ShowDialog();
是这样的,
三楼的哥哥,你可能没明白我的意思,当我c窗体关闭的时候我是刷新了b窗体的,也就是说当我重新刷b窗体的时候DataGridview绑定代码也重新执行了一次, 所以我想当前显示出来的数据 并没有刷新,是因为b窗体本身刷新了,但是显示b窗体的a窗体没有重新绘制。 问题就在于我不能重新的让a窗体加载一次, 我的项目首先执行的页面就是a窗体,但是在a窗体加载的时候我先让 另外的一个登陆窗体显示了,所以 如果我在c窗体中让a窗体重新加载的话,登陆窗体也会显示出来的,
A窗体应该有添加B窗体的方法吧,不能委托调用?
a窗体 remove删除,重新添加B窗体
首先在你的编辑页面定义:
//声明一个委托
public delegate void SendParts(PartsEntity Parts);
public event SendParts sendparts;//所要委托的事件然后在你点击保存或则提交的时候
if (EDRS)
{
//MessageBox.Show("修改成功!", "SZGDAS Message", MessageBoxButtons.OK, MessageBoxIcon.Information);
MessageBox.Show(_Message.strMessage4, "SZGDAS Message", MessageBoxButtons.OK, MessageBoxIcon.Information); this.sendparts(Parts);//激发事件,刷新列表
this.Close();
}