我在C#中有一个名为“table”的数据表,如下所示:。
ID Value
10 A
20 B
30 C
(它确实有大约1200行,但我试图简化它) 我的目标是能够在此数据表中打印特定行。例如,如果我想打印第二行(行索引1),我将使用以下内容:
Response.Write(table.Rows[1]["Value"].ToString());
这打印出我想要的值“B”,但有没有办法使用“ID”列打印该特定值而不是使用行索引1.我希望能够链接ID 10和值B以某种方式。
答案 0 :(得分:2)
如果将ID
定义为主键,则应通过其B
键查找ID
:
Response.Write(table.Rows.Find(20).["Value"].ToString());
答案 1 :(得分:0)
您可以使用foreach查看数据表,当ID等于10时,您就可以执行您想要的操作
会是这样的:
for each row as datarow in datatable.rows
if row.Items["ID"] = 10 Then
//do something
end if
答案 2 :(得分:0)
如果ID未设置为PK(或者您想查询其他字段),则可以使用Linq查询
var chosenRow = (from row in table.AsEnumerable()
where row.Field<int>("ID") == 10
select row).First();
chosenRow
是第一个满足DataRow
子句中设置的条件的where
对象。所以你可以:
Response.Write(chosenRow["Value"].ToString());