我的数据表包含如下数据(dtDocument)
DocumentID ProjectID DocumentTypeID StatusID StatusReason
----------- ----------- -------------- ----------- -------------
299 1 1 0 NULL
300 1 1 35 NULL
301 1 1 0 NULL
302 1 1 26 NULL
303 1 1 27 NULL
304 1 1 26 NULL
305 1 1 28 NULL
306 1 1 27 NULL
307 1 1 27 NULL
308 1 1 27 NULL
309 1 1 27 NULL
310 1 1 27 NULL
客户端可以根据该文档发送DocumentID我想要获取该文档上一页和下一页文档ID。这可以用于我的Next,Previous按钮。
我希望使用Linq(Preferrable)
进行性能查询示例:如果用户选择303 Document并选择Next按钮,它将移至304,如果用户选择Previous按钮,它将移至302
答案 0 :(得分:0)
var prevID = dtDocument.Where(d => d.DocumentID < selectedID).Max(d => d.DocumentID);
var nextID = dtDocument.Where(d => d.DocumentID > selectedID).Min(d => d.DocumentID);
答案 1 :(得分:0)
如果你有一个保持当前记录编号的变量和两个将从这个数字中加或减的按钮并调用以下内容:
public dtDocument GetDocument(int record)
{
return dtDocument.OrderBy(x=>x.DocumentID).Skip(record - 1).Take(1)
}
答案 2 :(得分:0)
var forNext = (from myRow in myDataTable.AsEnumerable()
where myRow.Field<int>("DocumentID") > CurrentID
orderby myRow.Field<int>("DocumentID")
select myRow).FirstOrDefault();
var forPrevious = (from myRow in myDataTable.AsEnumerable()
where myRow.Field<int>("DocumentID") < CurrentID
orderby myRow.Field<int>("DocumentID") descending
select myRow).FirstOrDefault();