2013-06-28 3 views
-3

Интересно, какое максимальное количество строк DataGridView может сделать ОК, я имею в виду, что пользовательский интерфейс является удобным и отзывчивым. Я хочу знать это, потому что у меня есть таблица из примерно 1400 строк (не сейчас, но это будет так в будущем), интересно, может ли она отображать ОК, или я должен загружать строки частично с поддержкой некоторых элементов управления навигацией.Какое максимальное количество строк DataGridView может отобразить ОК?

PS: Мне не нужен точный номер, просто номер из вашего опыта. Спасибо!

+2

winforms не поддерживает слишком много данных. Если вам нужно много строк в DataGrid, я предлагаю вам использовать WPF, который имеет встроенную виртуализацию пользовательского интерфейса, поэтому поддерживает гораздо большие наборы данных без какого-либо влияния на производительность. –

+0

@HighCore Меня интересует 'Winforms', и мой вопрос - это что-то вроде Да или Нет, поэтому, если вы достаточно опытны, просто ответьте на него, но, конечно, я задаю этот вопрос, но я считаю, что 1400 строк не слишком много для DataGridView для рендеринга OK. – Hopeless

+0

'IMO', winforms бесполезен и устарел, поэтому мой ответ не в том, что вы не можете ничего с ним поделать в 2013 году. Если бы это был 1990 год, я бы счел его вариантом. Хотя, возможно, другие люди скажут вам иначе. –

ответ

0

Я тестировал с 20000 строк из 10 столбцов, и кажется, что пользовательский интерфейс в порядке и достаточно отзывчив, время загрузки составляет около 300 мс. Когда я попытался использовать только 1 столбец, время загрузки было почти сразу. Не похоже в этом видео: http://www.youtube.com/watch?v=D3Y6DnFpHCA (однако управление в видео не DataGridView).

Вот код тестирования:

DataTable dt = new DataTable(); 
for (int i = 0; i < 10; i++) 
{ 
    dt.Columns.Add(i.ToString()); 
}  
for (int j = 0; j < 200000; j++) 
{ 
    DataRow row = dt.NewRow(); 
    for (int k = 0; k < 10; k++) 
    { 
     row[k] = Guid.NewGuid().ToString(); 
    } 
    dt.Rows.Add(row); 
} 
dataGridView1.DataSource = dt; 

Теперь я могу чувствовать себя свободно использовать мой DataGridView для хранения 1400 строк (в будущем).