public List<string[]> NotificationManagementData(IEnumerable<NotificationManagements> ComplaintEntry, int currentUserId)
{
return ComplaintEntry.Select((entry, index) => new string[]
{
(index + 1).ToString(),
GetLinks(currentUserId, entry),
entry.state_Id,
entry.refType,
entry.request,
entry.action,
Common.Encrypt(currentUserId.ToString(), entry.id.ToString())
}).ToList();
}
为了显示每条记录的序列号,我只是为每个条目的索引值加1。如果所有记录都在一个页面中,上面的代码工作正常。但如果有超过1页的序列号,则从第二页的1开始。请帮助我在接下来的页面继续获取序列号。提前致谢
答案 0 :(得分:1)
假设分页在ComplaintEntry
级别完成(没有其他级别可以执行,因为ToList()
调用),您需要将初始行号传递给方法,如下所示:
public List<string[]> NotificationManagementData(IEnumerable<NotificationManagements> ComplaintEntry, int currentUserId, int firstRow) {
return ComplaintEntry.Select((entry, index) => new string[] {
(index + firstRow).ToString(),
GetLinks(currentUserId, entry),
entry.state_Id,
entry.refType,
entry.request,
entry.action,
Common.Encrypt(currentUserId.ToString(), entry.id.ToString())
}).ToList();
}
NotificationManagementData
的调用者知道当前页面,因此他们可以进行数学计算以确定传递给firstRow
参数的内容。