У меня есть некоторые требования для реализации очень нестандартной сортировки в моей сетке данных, сетка в настоящее время привязана к DataView с набором фильтра строк данных Исходных строк, данные поступают в реальном времени, поэтому я делаю изменения, принимаемые на таймер каждую секунду, чтобы показать любые изменения, сделанные в базовой таблице данных. Сетка доступна только для чтения, она просто отображает данные в реальном времени.
Для краткости я пропущу детали сортировки. Чтобы решить эту проблему, я реализовал некоторое пользовательское представление данных (только для чтения), которое принимает DataView в качестве исходных данных (что позволяет мне по-прежнему фильтровать состояние строки и сохранять шаблон виртуальной сетки для данных в реальном времени). Это представление сбора / данных может быть связано с сеткой. Моя проблема заключается в том, чтобы обновлять внутреннюю коллекцию пользовательского представления с учетом любых изменений в базовом представлении данных. Сначала я попытался прослушать событие ListChanged базового представления данных, но даже если я добавлю только одну строку в базовую таблицу данных и вызову принимаю изменения, я получу тип события Reset, означающий, что мне нужно обновить всю коллекцию - мы могли бы говорить о тысячи строк обновляются (и сортируются) только из-за обновления одной строки.
Кто-нибудь имел опыт с этим раньше? Мне интересно, как это делает сетка, я знаю, что даже если вы дадите ей таблицу данных, она на самом деле привязывается к представлению таблицы по умолчанию, значит ли это, что сетка данных перезагружает всю коллекцию данных из своего представления даже для однострочное обновление?
Извините за длинный пост !!
Цените любые входные данные, обходные пути или даже альтернативы дизайна ...
Спасибо
Адриан