DataRow[] headerRows = null;
headerRows = mappingTable.Select("FieldID LIKE '0_%'"); //mappingTable is of type DataTable.
我在mappingTable "Id","Display", "Value"
现在,我需要从headerRows获取Value
"Id" = 0_0_0
。
有没有简单的方法可以做到这一点? 谢谢你的帮助。
答案 0 :(得分:1)
您需要在PrimaryKey
上设置DataTable
,然后您可以使用Find()
集合上的Rows
来查找包含该密钥的行。
dataTable.PrimaryKey = new DataColumn[] { dataTable.Columns["Id"] };
object value = dataTable.Rows.Find("0_0_0")["Value"];
答案 1 :(得分:1)
你可以使用LINQ:但这可能有点过分了:
dt.AsEnumerable().Where(dr => dr.Field<object>("FieldId").StartsWith("0_"));
如果你必须有DataRow []那么
headerRows = dt.AsEnumerable().Where(dr => dr.Field<object>("FieldId").StartsWith("0_")).ToArray();
从那里,您只有符合条件的数据行,因此您可以循环查看该值。
答案 2 :(得分:1)
如果你必须使用DataRow [],那么使用linq你可以这样做:
String value = (String)rows.Single(
row => String.Equals(row["Id"], "0_0_0"))["Value"];