日期:2014-05-18  浏览次数:21315 次

C#(WinForm)中DataGrid怎样实现自动刷新?
比如以打开一个查询窗体,里面DataGrid显示数据,以这个窗体做为基准页,然后打开另一个添加数据窗体
添加数据成功完后,查询窗体DataGrid能不能做成刷新显示刚添加成功的数据?

------解决方案--------------------
Form1 f = new Form1();
if (f.ShowDialog() == DialogResult.OK)
{
gridView1.DataSource = ds.Tables[0].DefaultView;
}
------解决方案--------------------
1楼说的对
------解决方案--------------------
主窗口与子窗口使用一个数据集对象
------解决方案--------------------
探讨
Form1 f = new Form1();
if (f.ShowDialog() == DialogResult.OK)
{
gridView1.DataSource = ds.Tables[0].DefaultView;
}

------解决方案--------------------
直接将数据插入到 数据库还是 DataSet中?
如果直接插入数据库中上面的方法肯定不行,要重新更新数据集
如果是插在DataSet 中上述方法应该是可行的
------解决方案--------------------
探讨
MessageBox.Show("添加新记录成功!","提示",MessageBoxButtons.OK,MessageBoxIcon.Exclamation);
frmInit();
frmSearchOrder fso = new frmSearchOrder();
DataTable dt = od.SelectOrder();
DataView dv = dt.DefaultView;
//fso.DataBindOrder();
fso.dgrdOrder.DataSource=dv;
fso.dgrdOrder.Refresh();
我把frmSearchOrder上的DataGrid设置为public添加成功,实现刷新没反应,继续自己顶

------解决方案--------------------
上面所写的方法,我在实际编写代码中,也用到此方法,它可以起到刷新的作用!
------解决方案--------------------
重新给数据源
------解决方案--------------------
路过接分!
------解决方案--------------------
可以 
窗体传参:
1 。 通过重写构造函数
2 。 通过声明为public 
3 。 定义static 变量存储





 
------解决方案--------------------
settimer
------解决方案--------------------
探讨
重新给数据源

------解决方案--------------------
timer 或者 窗体激活事件 看看行不
------解决方案--------------------
不是在更新Datasourse以后系统会自动刷新的么...
------解决方案--------------------
做这样的刷新的时候,我的做法一般采用委托+事件来实现。
//加在frmAddOrder中
public delegate void test();
public event test onTest;

private void Test()
{
if (onTest != null)
{
onTest(intTest); 
}
}

//加在frmSearchOrder中
frmAddOrder frmadd=new frmAddOrder();
frmAddOrder.onTest += new frmAddOrder.test(this.DataShow)
private void DataShow()
{
...................//你的填充代码.


希望对你有帮助。