使用LINQ 對List分頁/區

时间:2023-03-09 00:03:17
使用LINQ 對List分頁/區

listview之類的服務器控件分頁自不用多說,拖拖控件改改屬性分分鐘的事.就不浪費大家時間了.

這裏只寫大概思路及關鍵代碼了.
LINQ裏有一個對集合進行分區的操作可用於分頁.
pageSize:分頁大小,也就是一頁顯示的行數
curretPage:當前頁碼.先這麼理解吧
totalPages:總頁數
taotalPages=(int)Math.Ceiling(List<T>().Count / (double)pageSize);
這裏List<T>()就是你的集合.比如DataTable中的DataRow.
得到需要顯示的data.
var dataList=(from r in List<T>()).Skip(curretPage*pageSize).Take(pageSize)
最後一頁,pageSize如果大於剩餘count,則只獲取剩餘count的list.不會throw exception.
下一次request只需在改變currenPage即可.
具體設計就不贅述了.當然上述方法for asp.net同樣適用.
希望對大家有幫助.