Ищете более быстрый DataGridView (или эквивалентный) - PullRequest
0 голосов
/ 04 февраля 2009

У меня большая таблица, и загрузка DataGridView идет очень медленно. Стол будет становиться больше.

Есть ли способ оптимизировать загрузку? Есть хороший контроль замены? (Мы купим один, если это будет необходимо.) Есть ли вариант, о котором я не подумал спросить?

Ответы [ 5 ]

5 голосов
/ 04 февраля 2009

Есть ли вариант, о котором я не подумал спросить?

Да! Пейджинг + фильтрация поиска. Если у вас есть так много записей в вашей таблице данных, что вероятность того, что ваши пользователи все равно найдут это громоздким, вялая. Добавьте функцию поиска, чтобы ограничить количество элементов, которые они просматривают, и отображать только страницу одновременно.

2 голосов
/ 04 февраля 2009

Я скажу, что я попробовал несколько элементов управления GridView и согласился с DevExpress. Это действительно довольно быстро.

Если вы хотите ускорить свою работу, вы можете попробовать приостановить макет во время обновления данных.

1 голос
/ 05 февраля 2009

Я обнаружил, что использование повторителя может работать очень хорошо.

Я не проводил никаких тестов производительности между DataGrid и Repeater. Он не имеет некоторых дополнительных функций DataGridView, которые уменьшат некоторые из накладных расходов. Из-за отсутствия некоторых функций я предполагаю, что это будет быстрее. Кроме того, вы получаете немного больше контроля над окончательным HTML.

Я также согласен с Джоэлом в том, что фильтр подкачки и поиска будет хорошим способом увеличить вашу скорость.

0 голосов
/ 05 февраля 2009

Пейджинг - это только половина ответа.

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

Многие люди пишут свои запросы таким образом, что из SQL в .net возвращается только страница за раз, и отображается только страница (например, Repeater, о котором упоминал Джо). Это обычно самый громоздкий и быстрый решение.

0 голосов
/ 05 февраля 2009

Рассматривали ли вы кеширование ваших данных?

Правильно разработанная стратегия кэширования, вероятно, является наиболее важным аспектом проектирования, связанным с производительностью. Функции кэширования ASP.NET включают в себя кэширование вывода, частичное кэширование страниц и API-интерфейс кэширования.

Нажмите на ссылку для получения конкретной информации.

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