首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >循环遍历DataRow以比较当前行数据和前一行数据

循环遍历DataRow以比较当前行数据和前一行数据
EN

Stack Overflow用户
提问于 2020-08-17 08:50:32
回答 2查看 356关注 0票数 0

我需要在网格视图中遍历DataRow,以比较当前行和前一行的值。如果有人能在这个问题上提供帮助,我将不胜感激。我是新来的

我目前正在像这样迭代,但我不知道如何继续:

//检查当前行ACTIVITY = LOAD_A和前一行ACTIVITY = LOAD_B是否为true,然后保存该值并进行求和计算。

代码语言:javascript
复制
foreach (DataRow sda in dt.Rows)
 {

   if (sda.Field<string>("ACTIVITY") == "LOAD_A")
    {
  
    }
}
EN

回答 2

Stack Overflow用户

发布于 2020-08-19 20:45:15

正如devNull已经提到的,您可以使用一个变量来保存foreach循环的前一次迭代的值。

这可能如下所示:

代码语言:javascript
复制
DataRow previousDr = null;
foreach (DataRow sda in dt.Rows)
{
    if (previousDr != null)
    {
        if (sda.Field<string>("ACTIVITY") == "LOAD_A" &&
            previousDr.Field<string>("ACTIVITY") == "LOAD_B")
        {
            //Store value und do calculation.
        }
    }
    previousDr = sda;
}
票数 1
EN

Stack Overflow用户

发布于 2020-08-19 21:22:00

您可以使用for语句和DataRow的索引器属性来完成此操作

代码语言:javascript
复制
DataColumn column = table.Columns["ACTIVITY"];
for (int index = 1; index < table.Rows.Count; ++index)
{
    if (table.Rows[index - 1].Field<string>(column) == "LOAD_B" && // previous row
        table.Rows[index].Field<string>(column) == "LOAD_A")       // current row
    {
        // do somthing
    }
}
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/63443286

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档