我有一个包含某些列的数据表。我可以在转发器中显示它们。但是,我想要做的是逐个显示行。我想创建像下一个go并显示上一个按钮。我做了类似以下的事情:
myDataTable.Rows.Cast<DataRow>().Take(1).CopyToDataTable();
这给了我第一排。现在我如何使用这个概念来获得下一行(第2行),然后第3行......直到第n行。对于不同的情况,返回的行是不同的。这是一个Web应用程序。
答案 0 :(得分:3)
要获得不同的行,您只需要Skip
一些:
myDataTable.Rows.Cast<DataRow>().Skip(n).Take(1).CopyToDataTable();
其中n
是您要跳过的行数。因此,对于第二条记录n
将为1
。
我非常不同意使用CopyDataDataTable()
,但需要大量的代码库知识才能提供更好的方法。
答案 1 :(得分:1)
我会从数据库中选择它,但是,使用Skip(n).Take(1)
:
var row3 = myDataTable.AsEnumerable().Skip(2).Take(1).CopyToDataTable();
答案 2 :(得分:0)
介绍.Skip()
的使用:
myDataTable.Rows.Cast<DataRow>().Skip(0).Take(1).CopyToDataTable();
现在,您只需跟踪用户当前正在查看的记录,并更新发送到.Skip()
方法的值。例如,如果用户按下“下一步”5次,则会将值增加5次:
myDataTable.Rows.Cast<DataRow>().Skip(5).Take(1).CopyToDataTable();
答案 3 :(得分:0)
保留一个计数器并使用Skip(n-1)。获取(1)第n条记录。