1

の2つの列をループしてDataGridView、以下のように座標に追加しようとしています

foreach (DataGridView row in dataGridView1.Rows)
{
    double x = Convert.ToDouble(row["X"]);
    double y = Convert.ToDouble(row["Y"]);
    Coordinate c = new Coordinate(x, y);
    Point p = new Point(c);
    IFeature currentFeature = fs.AddFeature(p);
    for (int i = 0; i < dataGridView1.Columns.Count; i++)
    {
        currentFeature.DataRow[i] = row[i];
    }
}

しかし、私は次のエラーに遭遇しています:

タイプ 'System.Windows.Forms.DataGridViewRow' の式に [] を使用したインデックス作成を適用できません

なぜこれが起こっているのか教えてください。

よろしく、

4

2 に答える 2

4

それはかなり単純です -DataGridViewRowクラスはインデクサーを公開しません。Cellsコレクションを介してセルにアクセスする必要があります。row.Cells[i]おそらくトリックを行う必要があります:

for (int i = 0; i < dataGridView1.Columns.Count; i++)
{
   currentFeature.DataRow[i] = row.Cells[i].Value as IConvertible;
}
于 2012-08-09T21:48:49.857 に答える
2

DataGridViewRowコレクションではありません。コレクションでこれを実行する必要がありますCells:)

于 2012-08-09T21:49:34.117 に答える