2016-06-08 2 views
0

Я хочу показать некоторые расчетные 2D-данные в форме сетки в C#, используя datagridview. Размер сетки не префикс, и мне приходится вычислять по одной ячейке за один раз, используя некоторые для цикла, поэтому я не могу использовать класс datatable для той же цели, где мы добавляем данные для полной строки в (я не знаю, есть ли способ добавить данные в одну ячейку во время).установка 2D-данных в datagridview

Так что я попытался 2D массив выполнить то же самое, но когда я пытаюсь показать данные в datagridview он показывает ошибку, что: массив не был одномерный массив.

Вот снимок сообщения об ошибке:

Error Dialog

А вот код:

string[,] difference = new string[dataGridView1.Rows.Count, dataGridView2.Rows.Count]; 

      foreach (DataGridViewRow row1 in dataGridView1.Rows) 
      { 
       foreach (DataGridViewRow row2 in dataGridView2.Rows) 
       { 
        difference[row1.Index, row2.Index] = Convert.ToString(Math.Abs((Convert.ToSingle(dataGridView1.Rows[row1.Index].Cells[0].Value)) - (Convert.ToSingle(dataGridView2.Rows[row2.Index].Cells[0].Value)))); 
       } 
      } 

      dataGridView3.DataSource = difference; 

      } 
+0

Возможная Дубликат [Показать 2d массива в DataGridView] (http://stackoverflow.com/questions/29633018/show-2d-array-in-datagridview) – OhBeWise

ответ

0

вы взяли два двумерный массив, но передавая только один одномерный массив

я изменили ниже код, пожалуйста, изучите его.

if(dataGridView1.Rows.Count== dataGridView2.Rows.Count) 
{ 
string[] difference = new string[dataGridView1.Rows.Count]; 

      foreach (DataGridViewRow row1 in dataGridView1.Rows) 
      { 
       foreach (DataGridViewRow row2 in dataGridView2.Rows) 
       { 
        difference[row1.Index] = Convert.ToString(Math.Abs((Convert.ToSingle(dataGridView1.Rows[row1.Index].Cells[0].Value)) - (Convert.ToSingle(dataGridView2.Rows[row2.Index].Cells[0].Value)))); 
       } 
      } 

      dataGridView3.DataSource = difference; 

      } 
} 
+0

благодаря Шридхар братан, да на самом деле я хочу передайте этот 2D-массив в datagridview, но не знаете, какой будет синтаксис для этого. И равный нет. числа строк не является условием, поэтому мой массив может быть прямоугольным 2D ... –

Смежные вопросы