首页 > 解决方案 > 如何将列表中的数据插入数据网格视图的列

问题描述

我有一个包含 2 列的数据网格视图 (dataGridViewPorosity),我想将列表 (Porosity) 中的数据插入其中一列,但例外是:索引超出范围。大多数是非负的并且小于集合的大小。

这是我的代码:

        var source = new BindingSource
        {
        DataSource = Porosity
        };
        for (int i = 0; i < source.Count; i++)
        {
             dataGridViewPorosity[1,i].Value = source[i];
        }

我看到了类似的问题,但无法解决问题

标签: c#winforms

解决方案


DataGridView 控件的工作方式与您可能知道的其他表(或数组)不同。您需要选择行和单元格。单元格基本上是列。

dataGridViewPorosity.Rows[rowNumber].Cells[cellNumber].Value = source[i];

我假设您想使用第二个单元格和带有i值的行。你可以这样做:

dataGridViewPorosity.Rows[i].Cells[1].Value = source[i];

祝你好运!

编辑 尝试创建新行,如下所示:

int rownum = dataGridViewPorosity.Rows.Add();

然后使用 rownum 作为您想要插入数据的行号。

dataGridViewPorosity.Rows[rownum].Cells[1].Value = source[i];

当然,这些必须在 for 循环中。


推荐阅读