динамическое обновление сетки данных из файла XML c # 3.5 - PullRequest
1 голос
/ 22 апреля 2010

У меня есть сетка данных, которая заполняется через файл XML при загрузке формы. Все работает отлично, но я бы хотел, чтобы сетка данных обновлялась динамически при получении нового заказа (отдельный класс получает поток данных и обновляет файл).

Я ищу предложения о том, как это должно быть сделано. (т. е. с использованием обновления таймера каждую секунду или отслеживания файла с помощью FileSystemWatcher ... и т. д.)

С тех пор, как здесь, я мог бы также упомянуть, что для обновления сетки данных я очищаю весь набор данных и перечитываю файл, используя:

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

если это неправильный подход, предложите альтернативные предложения.

1 Ответ

3 голосов
/ 22 апреля 2010

Похоже, просмотр файла в вашем файле 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. Кажется, это будет самое простое, что может сработать.

...