可不可以刷新窗口

bapiyang007 2010-10-21 08:10:17
功能描述:在XFGL.cs窗口中添加消费记录,然后在Form1.cs的窗口中的“DGV”(DGV)显示出来。而且Form1.cs窗口是不关闭的,XFGL.cs窗口出现在Form1.cs窗口之上。

现在要实现的功能是:在“XFGL.cs”中添加了记录并且关闭了此窗口后,怎样让新添加的记录在Form1.cs窗口中的“DGV”里及时显示出来。另外这个DGV是绑定数据源DataTable的。是不是要在“XFGL.cs”窗口的添加事件中写重载Form1.cs的代码,还是写更新Form1.cs的数据源“DataTable”的代码?

请各位大侠多多指教。。。
...全文
105 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
xrongzhen 2010-10-24
  • 打赏
  • 举报
回复
两个思路:
第一个:利用事件委托,将添加记录事件 与 form1 DGV显示事件绑定

第二个:添加记录时更新数据库,然后form1 DGV重新读取或添加新价记录
哥子谭 2010-10-24
  • 打赏
  • 举报
回复
你说的应该是窗体传值的问题,你可以通过传值来解决
模式窗体打开一个窗体,当这个窗体关闭的时候,触发另外一个窗体的值的改变
chennimei 2010-10-23
  • 打赏
  • 举报
回复
这个问题和之前遇到的一样!!
有个方法:
你可以在窗体的 Activated 事件里面实现数据的更新,这样只要你对数据库做了修改(添加、删除、更新)dataGridView里的数据就会更新。
例:
//Activated 事件里调用FilldataGridView()函数实现更新
private void 窗体_Activated(object sender, EventArgs e)
{
FilldataGridView();
}
//具体实现
private void FilldataGridView()
{
string strcd = "select * from 【表名】";
OleDbConnection mycon = new OleDbConnection(strconnet);
OleDbCommand mycom = new OleDbCommand(strcd);
mycom.Connection = mycon;

if (mycon.State == ConnectionState.Closed)
{
mycon.Open();
}
OleDbDataAdapter objdataAdapter = new OleDbDataAdapter(mycom);
DataSet mydataset = new DataSet();
objdataAdapter.Fill(mydataset, “【表名】”);
dataGridView1.DataSource = mydataset.Tables["【表名】"];
}
laomengzi 2010-10-23
  • 打赏
  • 举报
回复
一:重新绑定数据,再次绑定datagridview。
二:http://topic.csdn.net/u/20101020/23/45b9dd05-86c0-46d2-b624-06f4a2204ab5.html重新刷新窗口。前提是加载Form1的时候绑定数据了。
豆腐工坊 2010-10-23
  • 打赏
  • 举报
回复
你可以直接写两个类,一个存储数据,一个刷新数据
这样,在执行添加操作时,加载存储数据类,添加成功后,直接调用刷新数据类就好了
bapiyang 2010-10-22
  • 打赏
  • 举报
回复
雄起。。。
wuyq11 2010-10-21
  • 打赏
  • 举报
回复
Form2
public delegate void mydelegate();
public static event mydelegate myevent;
private void button1_Click(object sender, EventArgs e)
{
if (myevent != null)
{
myevent();
}

}
private void button2_Click(object sender, EventArgs e)
{
Form2 fm2 = new Form2();
Form2.myevent += new Form2.mydelegate(fm2_myevent);
fm2.Show();

}
private void Form1_Load(object sender, EventArgs e)
{
}
void fm2_myevent()
{
Form1_Load(null,null);
}

if(SubForm.ShowDialog()==DialogResult.Ok)
{
//调用数据绑定代码。
}
wuyq11 2010-10-21
  • 打赏
  • 举报
回复
Form2
public delegate void mydelegate();
public static event mydelegate myevent;
private void button1_Click(object sender, EventArgs e)
{
if (myevent != null)
{
myevent();
}

}
private void button2_Click(object sender, EventArgs e)
{
Form2 fm2 = new Form2();
Form2.myevent += new Form2.mydelegate(fm2_myevent);
fm2.Show();

}
private void Form1_Load(object sender, EventArgs e)
{
}
void fm2_myevent()
{
Form1_Load(null,null);
}

if(SubForm().ShowDialog()==DialogResult.Ok)
{
//调用数据绑定代码。
}

111,129

社区成员

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

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

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