Member 12440363 Ответов: 1

Ускорить расширенный фильтр элемент


Здравствуйте, извините за мой вопрос, я новичок в Windows Forms (использую C#). У меня есть большая база данных (~50 000 строк), форма Windows с AdvancedDataGridView (мне нужен фильтр, как Excel). Кроме того, я использую виртуальный режим для быстрой загрузки.
Но он работает только для инициализации DataGridView. Когда я хочу отфильтровать идентификаторы, нажмите на раскрывающуюся кнопку в первый раз и... программа зависает примерно на 6 секунд, а затем работает нормально. Когда мне снова нужны идентификаторы фильтров, он работает быстро.
Как я могу ускорить инициализацию фильтра? Моя база будет расти, рабочие будут очень часто пользоваться фильтрами.
Спасибо.

Что я уже пробовал:

Попробуйте использовать стандартный DataGridView - слишком медленно

Nirav Prabtani

Вы можете найти множество сторонних элементов управления для удовлетворения ваших потребностей.
Если вы имеете дело с большим количеством записей, я предлагаю вам использовать SQL-подкачку вместо того, чтобы заполнять все данные одновременно.

Вы можете использовать flex grid, obout, telerik, dev express и многие другие....

Member 12440363

Да, я использую MS SQL.
>Вы можете использовать flex grid, obout, telerik, dev express и многое другое....
Какой из этих инструментов лучше всего использовать?

Richard MacCutchan

Не считывайте все записи в DataGridView, так как это только замедлит его работу. Используйте фильтр для чтения из базы данных в первую очередь.

1 Ответов

Рейтинг:
1

Ravindra A Jadhav

Считайте записи из базы данных один раз в DataSet, затем вы можете использовать LINQ query или DataView RowFilter для фильтрации, а затем отфильтрованный результат снова привязать к сетке.

dataView.RowFilter = "FILTER QUERY here.."