Медленное заполнение DataGridView - C#

Узнай цену своей работы

Формулировка задачи:

Возникла проблема с заполнением. У меня есть dgv размером 80х255 Изначально нужно заполнить это счастье нулями, а потом изменить значение произвольной ячейки в каждой строке на 1 или -1. Нулями заполняет, однако долго. Я поставил dataGridView1.Update(); чтобы увидеть процесс заполнения, оказалось что на заполнение строки в 80 ячеек уходит около 1 секунды. Итого на заполнение 255 строк затрачивается около 3 минут.. Нельзя ли как-то ускорить этот процесс?
Листинг программы
  1. private void button1_Click(object sender, EventArgs e)
  2. {
  3. for (int i = 0; i < 80; i++)
  4. dataGridView1.Columns.Add("A" + Convert.ToString(i + 1), "A" + Convert.ToString(i + 1));
  5. dataGridView1.Rows.Add(255);
  6. for (int j = 0; j < 255; j++)
  7. dataGridView1.Rows[j].HeaderCell.Value = "X" + Convert.ToString(j + 1);
  8. /*
  9. */
  10. }
  11. private void button2_Click(object sender, EventArgs e)
  12. {
  13. for (int j = 0; j < dataGridView1.RowCount; j++)
  14. for (int i = 0; i < dataGridView1.ColumnCount; i++)
  15. {
  16. dataGridView1[i,j].Value = 0;
  17. dataGridView1.Update();
  18. }
  19. }
  20. private void button3_Click(object sender, EventArgs e)
  21. {
  22. for (int i = 0; i < dataGridView1.RowCount; i++)
  23. {
  24. while (val == 0) ;
  25. val = rand.Next(-1, 1);
  26. dataGridView1[i, rand.Next(0, 80)].Value = val;
  27. dataGridView1.Update();
  28. }
  29. }

Решение задачи: «Медленное заполнение DataGridView»

textual
Листинг программы
  1.             var global_start = DateTime.Now;
  2.             for (int j = 0; j < dataGridView1.RowCount; j++)
  3.                 for (int i = 0; i < dataGridView1.ColumnCount; i++)
  4.                 {
  5.                     dataGridView1[i,j].Value = 0;
  6.                 }
  7.                 var global_end =  DateTime.Now;
  8.                 var res= global_end - global_start;
  9.                 dataGridView1.Update();

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

15   голосов , оценка 3.933 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут