我有一个 DataView,它已按某种顺序排序。如何使用索引检索值。
像这样的东西:
if(dv.rows[0]["name"]=="xxx")
{
--- do something ---
}
else
--- something else ---
你试过了吗:
DataRowView rowView = dv[index];
试试下面的代码
将排序后的 DataView 移动到 DataTable 中
DataTable dt = dv.ToTable();
然后使用
if (dt.Rows[0]["name"] == "xxx")
{
[...]
}
它会起作用的。
您可以直接使用 DataView,而不是将整个内容转换回表格:
要从 a 中获取一行DataView
,您可以使用Item
返回 a 的属性,DataRowView
然后您可以调用Item
get 来获取单元格,所有这些单元格都可以缩短为:
// Returns object, so needs to be cast to your required type:
if ((string)dv[0]["CellName"] == "ABCD")
{
[...]
}
我不太清楚这是否是您正在寻找的答案:
if (dv.Rows[0].Cells["CellName"].Value == "ABCD")
{
}
我认为,直接使用 DataRowView 比将 dv 转换回 DataTable (它可能从一开始就来自哪里)更简单。
var currRow = dv[0]; currRow["your_col_name"]?.ToString();