在datagridview中拟合2D数据

时间:2016-06-08 09:05:33

标签: c# arrays datagridview

我希望使用datagridview在C#中以网格形式显示一些计算的2D数据。 网格的大小没有前缀,我必须使用一些for循环一次计算一个单元格,所以我不能使用datatable类用于我们添加数据的相同目的对于一个完整的行(我不知道是否有办法在一个单元格中添加数据)。

所以我尝试了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;

            }

1 个答案:

答案 0 :(得分: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;

            }
}