2012-01-24 8 views

答えて

1

オブジェクト? Rowsには文字列ベースのインデクサーがないので、0ベースのインデックスを使用していると思います。

あなたが持ってたらDataGridViewRowあなたはstring値用いて細胞へのインデックスすることができます:データグリッドは、列名とインデックス作成をサポートしている場合

foreach (var row in dataGrid.Rows) { 
    var cell = row.Cells["someColumn"]; 
} 
+0

私は行が大丈夫だと思います。私が意味するのは列です。私はインデックスを使用する代わりに、セルの値を参照する他の方法を使用したいと思います。 – jasonline

+0

@jasonlineどのように値を取得したいですか?位置または連想指数は最も自然な方法です。 – Yuck

0

試してみてください。

DataGridView.Rows[index].Cells["CellName"].Value; 

セル名は、お使いのカラム名です。これは、datagridviewで機能します。私はDataGridについて知りません。

0

すべてのデータをクラスに入れ、データバインディングを使用できます。 MSDNのHow to: Bind Data to the Windows Forms DataGridView Controlを参照してください。

次に、あなたのデータを通して、あなたのデータフィールドにアクセスすることができますRowsn番目の項目の説明的な名前になり何

MyDataClass data = (MyDataClass)dataGrid.CurrentRow.DataBoundItem; 
Console.WriteLine(data.LastName); 
0

を、このようにそれを実行します。

dataGrid.Rows[x].Cells["columnName"] 

私はDataGridがこの構文をサポートしているかどうか確かめてください。もしそうでなければ、定数を使って以下のようなコードの可読性を向上させることをお勧めします。

const int ColumnNameIndex = 0; 
dataGrid.Rows[x].Cells[ColumnNameIndex]; 
関連する問題