Какой максимальный объем данных можно загрузить в элемент управления формы Windows?

2

Каков максимальный объем данных, которые я могу загрузить на элемент управления формой?

Мое приложение потребляет слишком много памяти и зависает, когда более 500 000 записей добавляются в любой элемент управления окон в моем опыте. Любые подсказки?

Теги:
datagridview
listbox

4 ответа

6
Лучший ответ

Да, это вызовет проблемы.

Не добавляйте много записей.

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

Например, пусть пользователь сужает поиск по дате (если это временные данные) или диапазон номеров заказов или... ну, что угодно.

Но я могу гарантировать, что вы найдете способ добавить 500K строк в сетку или что-то другое не решение.

3

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

Нет единственной меры.

В память приложения входят также дескрипторы GDI, "Файловые дескрипторы", "Темы", которые использует ваше приложение. Убедитесь, что у вас нет утечки дескриптора GDI с помощью диспетчера задач и нравится.

Также не рекомендуется загружать 500 000 записей в пользовательский интерфейс, пользователь не может обрабатывать столько информации, пожалуйста, измените свою практику, используя подкачки или другие способы для выполнения этих задач.

1

Это большая куча данных; первое, что нужно сделать, это уменьшить объем данных, однако, поскольку вы отмечаете DataGridView в тегах, для больших сценариев данных существует "виртуальный режим". См. В MSDN, здесь (обзор) и здесь (howto).

Некоторые (но не все) другие элементы управления на основе списка также поддерживают "виртуальный режим".

0

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

Я обычно применяю фильтрацию после этого и возвращаю данные и переработанную запись в приложение. Если пользователь хочет видеть все записи, они могут экспортировать в другое приложение (обычно это Excel, который сломался, но также и XML.)

Никто не собирается читать через полмиллиона записей.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню