我有一个在表单加载时通过XML文件填充的datagrid。一切都很好,但我希望datagrid在收到新订单时动态更新(单独的类接收数据流并更新文件)。
我正在寻找关于如何做到这一点的建议。(例如,使用计时器每秒更新一次,或使用FileSystemWatcher监控文件。等)
既然在这里,我可能会提到,为了更新datagrid,我正在清除整个数据集,并使用以下命令重新读取文件:
DataSet.Clear();
DataSet.ReadXml("file.xml");
dataGridView1.DataSource = DataSet;如果这不是正确的方法,请提供任何替代建议。
发布于 2010-04-23 03:12:06
似乎在你的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的重新绑定。这似乎是最简单的办法了。
https://stackoverflow.com/questions/2692024
复制相似问题