从XML文件c#3.5动态更新数据网格

时间:2010-04-22 15:11:31

标签: c# xml winforms datagridview dataset

我有一个数据网格,在表单加载时通过XML文件填充。一切都很好但我希望datagrid在收到新订单时动态更新(Separate类接收数据流并更新文件)。

我正在寻找关于如何做到这一点的建议。 (即每秒使用一次计时器更新,或使用FileSystemWatcher等监视文件)

从这里开始,我不妨提一下,为了更新数据网格我清除整个数据集并使用以下方式重新读取文件:

DataSet.Clear();
DataSet.ReadXml("file.xml");
dataGridView1.DataSource = DataSet;

如果这不是正确的方法,请提供任何其他建议。

1 个答案:

答案 0 :(得分:3)

看起来像file.xml上的文件监视就可以了。我会尝试这些方法:

    FileSystemWatcher incoming = new FileSystemWatcher();
    incoming.Path = @"c:\locationDirectory\";
    incoming.NotifyFilter = NotifyFilters.LastAccess | 
                            NotifyFilters.LastWrite | 
                            NotifyFilters.FileName;
    incoming.Filter = "file.xml";

    incoming.Changed += new FileSystemEventHandler(OnChanged);

    incoming.EnableRaisingEvents = true;

在OnChanged事件中,您可以设置dataGrid的重新绑定。这似乎是最简单的事情。