Как использовать несколько List <> в качестве источника данных DatagridView - PullRequest
1 голос
/ 06 января 2010

Я ищу очень эффективный способ сохранения данных в виде таблицы в C #. Количество строк, столбцов и тип данных для каждого столбца определяется во время выполнения. Один из моих подходов - создать структуру, которая определяет столбец. Структура состоит из ColumnName, Units и общего списка значений типа double. (Пока я придерживаюсь одного типа данных). Затем я создаю экземпляр структуры для каждого столбца и заполняю его список. Этот метод работает довольно хорошо и намного чище, чем некоторые другие методы, которые мы пробовали, я могу сохранить 100 000 строк из 3 столбцов примерно за 12 миллисекунд. У меня проблема с отображением данных. Я могу отображать свою «таблицу» в виде таблицы, просматривая мои столбцы и строки и заполняя ячейку DGV ячейкой, но это, что не удивительно, очень медленно. Есть ли способ использовать мои 3 списка в качестве источника данных для DGV? Может ли каждый столбец иметь свой собственный источник данных? Является ли альтернатива DataGridView, что я должен попробовать?

Ответы [ 2 ]

1 голос
/ 06 января 2010

Что такое "3 списка" здесь? Я могу видеть список парных чисел ... если столбцы являются динамическими, то реализация ITypedList может быть полезной, но я буду честен - это правильная реализация; было бы проще заполнить DataTable. Я использовал это, например, для транспонирования массива на лету.

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

1 голос
/ 06 января 2010

Вы пытались сначала заполнить DataTable, а затем связать его с DataGridView?

Если это веб-приложение, вы можете сделать оператор foreach и построить таблицу из кода.

...