資料模型 : 參考 Linq Day1 - 查詢與排序 的資料模型
Linq分頁範例
using System;
using System.Collections.Generic;
using System.Linq;
using LinqDay1;
namespace LinqDay2
{
// 這裡主要示範分頁 或者取得一定範圍內的資料
class Program
{
static void Main(string[] args)
{
var Program = new Program();
var order = Program.GetOrder();
// 使用分頁
Program.SetPageRow(order,2,10);
Console.ReadLine();
}
// 引數 pageCnt = 第幾頁 pageRows = 一頁幾筆
private void SetPageRow(List<Model1.Order> ob, int pageCnt, int pageRows)
{
//Skip() 可用來跳過來源序列中的前幾個項目,再把剩下的資料全部回傳
//Take() 可用來取出來源序列中,指定數量項目的資料
var query = ob.Skip((pageCnt-1) * pageRows).Take(pageRows);
Console.WriteLine("實作分頁---------------------------------");
Console.WriteLine("第 " + pageCnt + " 頁,共 " + pageRows + " 筆 ");
var i = 1;
query.ToList().ForEach(x => {
Console.WriteLine("頁碼 " + pageCnt + "-" + i +", "+ x.ToString());
i += 1;
});
}
private List<Model1.Order> GetOrder()
{
var result = new List<Model1.Order>();
for (int j = 1; j < 101; j++)
{
result.Add(new Model1.Order {
CustomerId = j,
OrderDate = new DateTime(2000 + j, 10, 9),
Total = 2900 + j
});
}
Console.WriteLine("原始------------------資料");
var i = 1;
result.ForEach(x => {
Console.WriteLine("第" + i.ToString() + "筆 " + x.ToString());
i += 1;
});
Console.WriteLine("原始--------------------資料");
Console.WriteLine();
return result;
}
}
}
多多指教!! 歡迎交流!!
你不知道自己不知道,那你會以為你知道