Задать вопрос
@Smiz001
C#-developer

Как уменьшить расход памяти в DataGrid у WPF?

Имеется DataGrid куда выгружаются данные по запросу пользователя. Кол-во данных более 10000 строк и примерно 12 колонок.
В качестве ItemSourse использую DataTable, который получаю в слудующем виде
var dataTable = new DataTable();
  dataTable.Load(con.ExecuteReader(select));

Этот DataTable содержит более 10000 строк, в памяти занимает не более 20 мб, но когда я пытаюсь это все вывести на DataGrid, то захваты памяти достигает более 2Гб, что неприемлемо в моей ситуации.
Есть ли какие-нибудь способы по уменьшению расхода памяти при отрисовки данных в DataGrid?
Скрин с памятью
5b4c9e656165a573769365.png
  • Вопрос задан
  • 573 просмотра
Подписаться 2 Средний 4 комментария
Решение пользователя eRKa К ответам на вопрос (5)
@kttotto
пофиг на чем писать
Однозначно нужен постраничный вывод. Никто такие объемы за раз не выводит.
В крайнем случае подгрузка по мере скрола, с удалением из грида верхней части.
Даже в ширину не обязательно все выводить, можно не самые критичные данные скрыть за кнопочкой "подробнее" и подгружать для просмотра по клику как дополнительные данные.
Ответ написан
Комментировать