1

VS 2010 を何年も使用してから VS 2012 をインストールしましたが、テーブルの行をループすることさえできず (以前は面倒でした)、プロジェクトにとって非常に重要です。

さまざまな呼び出し方法を試しましDataGrid.Rowsたが、ユーザーがまったく利用できなくなったため、回避策を見つけようとしています。

こことここに私が思いついたものがありますが、2番目の部分はうまくいきません。

foreach (TableRow row in MyDatabaseDataSet.Tables["Table1"].Rows)
{
//Pesky lengthy non-working code supposed to generate 
//controls dependent on row cell value
}

物事を簡単にするために(コードが機能しないのは非常に長いため、ここに投稿するのは逆建設的です。代わりに、見ている行の2列目にセルの値を表示するメッセージボックスを取得してみましょう.

しかし、何もしません。

私は考えられる多くの方法を試しました:

MessageBox.Show(row.Cells[2].Value);
MessageBox.Show(row.Cells[2].Text);

しかし、それは私にとってはまったくうまくいきません!

プロジェクトをまったく実行したくありません。

DataTableaまたはa のすべての行をループするにはどうすればよいDatagridですか?

PS: 言及するのを忘れていましたが、上記の foreach ステートメントの前に、コードに Load Data セグメントも追加しました。

4

2 に答える 2

5

単純なものを見落としているのかもしれませんが、 notを含むDataTable.Rowsa を返します。DataRowCollectionDataRowsTableRows

だから代わりに

foreach (TableRow row in MyDatabaseDataSet.Tables["Table1"].Rows)
{
    // ...
}

これ:

foreach (DataRow row in MyDatabaseDataSet.Tables["Table1"].Rows)
{
    // ...
}
于 2013-03-28T22:54:31.780 に答える
0

DataTable.RowsオブジェクトDataRowCollectionを含むのインスタンスを返します。DataRowTableRow

foreach( DataRow row in MyDatabaseDataSet.Tables["Table1"].Rows)
{
   // code here
}
于 2013-03-28T22:55:03.583 に答える