Оптимизация инфраструктуры данных wpf - PullRequest
1 голос
/ 13 августа 2010

Я должен начать с заявления об отказе от ответственности, что у меня недостаточно информации об этой проблеме, но я хотел бы дать толчок, чтобы узнать, есть ли у кого-то еще эта проблема. Я начал новую работу, и некоторые люди здесь используют сетку данных Infragistics WPF. Сетка была выбрана из-за визуальной гибкости, но, очевидно, когда в сетке большое количество строк, все начинает работать очень плохо. Возможно, это связано с реализацией (не уверен, еще не попал в код) и не должен восприниматься как отрицательный элемент управления.

Кто-нибудь еще сталкивался и мог бы посоветовать разработчикам? Заранее спасибо.

Редактировать *: я думаю, что введение пейджинговой связи может быть не вариант. Сетка используется в таком качестве, что она отображает данные, передаваемые в нее. Таким образом, сценарий использования заключается в том, что конечный пользователь отслеживает 50-100 строк, которые обновляются с новыми значениями в течение секунды (иначе - используйте бегущие биржевые тикеры вместо просмотра набора результатов)

Ответы [ 3 ]

1 голос
/ 11 января 2011

У меня тоже проблемы с XamDataGrid. Хотя у меня нет подходящей версии, чтобы попробовать это, вы можете попробовать перейти на высокопроизводительный стиль зависания и подавить события, как описано здесь: http://blogs.infragistics.com/forums/p/48307/264160.aspx

Остальные предложения более специфичны и касаются конкретных схем и вариантов использования.

Вот еще немного обзора оптимизаций инфраструктуры: http://help.infragistics.com/NetAdvantage/WPF/2010.3/CLR4.0/?page=xamData_Performance_Optimizations_Overview.html

0 голосов
/ 25 августа 2010

Подход заключается в том, чтобы включить виртуализацию - это гарантирует, что в перерисовку будет включена только информация на экране.Не вижу проблем с непрерывным обновлением 100 строк.

0 голосов
/ 13 августа 2010

Я использую Xceed DataGrid, но недавно обнаружил, что наша DataGrid привязана к представлению (DataGridCollectionView), а не к источнику данных (DataView / DataTable).

Это означало, что мы заменили весь вид для каждого обновления.

При связывании с DataTable мой код теперь мгновенно обновляет DataGrid с несколькими тысячами строк, где он используется, чтобы занять 1-2 секунды.

Поскольку большинство сеток похожи. пожалуйста, проверьте, как ваш код связан с данными, которые входят в вашу DataGrid.

Я разместил здесь код на случай, если это поможет.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...