【问题标题】:Retrieving rows in DataView by its index通过索引检索 DataView 中的行
【发布时间】:2009-03-31 13:11:46
【问题描述】:

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

类似这样的:

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

【问题讨论】:

    标签: c# dataview


    【解决方案1】:

    你试过了吗:

    DataRowView rowView = dv[index];
    

    【讨论】:

      【解决方案2】:

      试试下面的代码

      将排序后的DataView移到DataTable中

      DataTable dt = dv.ToTable(); 
      

      然后使用

      if (dt.Rows[0]["name"] == "xxx")
      {
        [...]
      }
      

      它会起作用的。

      【讨论】:

        【解决方案3】:

        您可以直接使用 DataView,而不是将整个内容转换回表格:

        要从DataView 中获取一行,您可以使用Item 属性,该属性返回DataRowView,然后您可以调用Item 来获取单元格,所有这些都可以缩短为:

        // Returns object, so needs to be cast to your required type:
        if ((string)dv[0]["CellName"] == "ABCD")
        {
          [...]
        }
        

        【讨论】:

          【解决方案4】:

          我不太清楚这是否是您正在寻找的答案:

          if (dv.Rows[0].Cells["CellName"].Value == "ABCD")
          {
          
          }
          

          【讨论】:

            【解决方案5】:

            我认为,直接使用 DataRowView 比将 dv 转换回 DataTable(它可能从这里开始)更简单。
            var currRow = dv[0]; currRow["your_col_name"]?.ToString();

            【讨论】:

              猜你喜欢
              • 1970-01-01
              • 1970-01-01
              • 2018-09-12
              • 1970-01-01
              • 1970-01-01
              • 2020-06-19
              • 2015-08-15
              • 2012-08-06
              • 1970-01-01
              相关资源
              最近更新 更多