【发布时间】:2009-03-31 13:11:46
【问题描述】:
我有一个按某种顺序排序的 DataView。如何使用索引检索值。
类似这样的:
if(dv.rows[0]["name"]=="xxx")
{
--- do something ---
}
else
--- something else ---
【问题讨论】:
我有一个按某种顺序排序的 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,而不是将整个内容转换回表格:
要从DataView 中获取一行,您可以使用Item 属性,该属性返回DataRowView,然后您可以调用Item 来获取单元格,所有这些都可以缩短为:
// 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();
【讨论】: