如何解决循环遍历DataRow以比较当前行数据和上一行数据
我需要遍历gridview中的DataRow,以比较当前行和上一行的值。感谢有人可以帮助解决这个问题。我是新来的
我目前正在这样迭代,但是我不知道如何继续:
//检查当前行ACTIVITY = LOAD_A和上一行ACTIVITY = LOAD_B是否为true,然后存储 值并进行总和计算。
foreach (DataRow sda in dt.Rows)
{
if (sda.Field<string>("ACTIVITY") == "LOAD_A")
{
}
}
解决方法
正如devNull所述,您可以使用变量来保存foreach
循环的上一次迭代的值。
这可能看起来像这样:
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;
}
,
您可以使用for
语句和DataRow的索引器属性来完成此操作
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
}
}
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。