通过索引检索DataView中的行

时间:2009-03-31 13:11:47

标签: c# dataview

我有一个DataView,它已按某种顺序排序。如何使用索引检索值。

这样的事情:

if(dv.rows[0]["name"]=="xxx")  
{  
  --- do something ---  
}  
else  
  --- something else ---  

5 个答案:

答案 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();