我有一个数据网格,在表单加载时通过XML文件填充。一切都很好但我希望datagrid在收到新订单时动态更新(Separate类接收数据流并更新文件)。
我正在寻找关于如何做到这一点的建议。 (即每秒使用一次计时器更新,或使用FileSystemWatcher等监视文件)
从这里开始,我不妨提一下,为了更新数据网格我清除整个数据集并使用以下方式重新读取文件:
DataSet.Clear();
DataSet.ReadXml("file.xml");
dataGridView1.DataSource = DataSet;
如果这不是正确的方法,请提供任何其他建议。
答案 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的重新绑定。这似乎是最简单的事情。