Мне нужно использовать элемент управления DataGridView
для отображения большого количества столбцов. У меня есть класс DataGridViewCell
, который определяет настраиваемый метод Paint для каждой ячейки. Я добавил столбцов, как так ...DataGridView и добавление столбцов программно
int ColumnCount = 5000;
DataGridViewTextBoxCell cell = new DataGridViewTextBoxCell();
for (int i = 0; i < ColumnCount; i++)
{
dataGridView1.Columns.Add(new DataGridViewColumn() { CellTemplate = cell, FillWeight = 1 });
}
Проблема заключается в том, это занимает возрастов, чтобы добавить все столбцы, гораздо дольше, чем это действительно надо брать. Когда я добавляю столбцы, я вижу, что размер полосы прокрутки внизу DataGridView
становится меньше, так как сетка рисует каждый столбец каждый раз, когда я добавляю его.
Кто-нибудь знает более быстрый способ добавить большое количество столбцов или как предотвратить обновление DataGridView
до тех пор, пока все столбцы не будут добавлены?
Я попытался отключить изменение размера, SuspendLayout()
и установить dataGridView1.Visible = false
.
Попробуйте создать коллекцию массива столбцов, а затем добавьте ее в сетку вместо добавления ее в сетку в цикле for. – JPReddy