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