0

次のような「テーブル」と呼ばれるC#のデータテーブルがあります。

 ID   Value
 10    A
 20    B
 30    C

(実際には約1200行ありますが、単純化しようとしました)私の目標は、このデータテーブルに特定の行を印刷できるようにすることです。たとえば、2番目の行(行インデックス1)を印刷する場合は、次を使用します。

Response.Write(table.Rows[1]["Value"].ToString());

これにより、必要な値「B」が出力されますが、行インデックス1を使用する代わりに、「ID」列を使用してその特定の値を出力する方法があります。ID10をリンクできるようにしたいと思います。と値Bを一緒にどういうわけか。

4

3 に答える 3

2

が主キーIDとして定義されている場合、これはそのキーで検索する必要があります。BID

Response.Write(table.Rows.Find(20).["Value"].ToString());
于 2013-02-08T00:09:17.430 に答える
0

それぞれにを使用してデータテーブルをループすることができ、IDが10に等しい場合は、必要な処理を実行します

このようなものになります:

for each row as datarow in datatable.rows
   if row.Items["ID"] = 10 Then
    //do something
   end if
于 2013-02-08T00:10:46.687 に答える
0

IDがPKとして設定されていない場合(または別のフィールドにクエリを実行する場合)、Linqクエリを使用できます

var chosenRow = (from row in table.AsEnumerable()
                    where row.Field<int>("ID") == 10
                    select row).First();

chosenRowDataRowで設定された基準を満たす最初のオブジェクトです。whereだからあなたはただ:

Response.Write(chosenRow["Value"].ToString());
于 2013-02-08T00:12:48.273 に答える