不用sql語句怎么進(jìn)行分頁
3 回答

ibeautiful
TA貢獻(xiàn)1993條經(jīng)驗 獲得超6個贊
一共有5000條記錄,每頁50條記錄;那么第2頁的記錄必然是第51到第100的數(shù)據(jù),根據(jù)索引把數(shù)據(jù)過濾出來,顯示到頁面上就可以了。

牛魔王的故事
TA貢獻(xiàn)1830條經(jīng)驗 獲得超3個贊
這個你可以過濾啊。
你的希望應(yīng)該是:有一個5000條記錄的集合,希望能從指定位置開始獲取指定數(shù)量的一個連續(xù)的子集吧?
如果你用LinQ可以使用下面的代碼
public IEnumable GetData(IEnumable source, int startIndex, int size) { return source.Skip(startIndex).Take(size); }
如果你用的不是LinQ,那么:
public IEnumable GetData(IEnumable source, int startIndex, int size) { int index = 0; foreach(var item in source) { if(index < startIndex) { continue; } if(index - startIndex > size) { break; } yield return item; }
當(dāng)然,上面的枚舉方法不是很好,不過,一般的情況下,你的集合應(yīng)該能確定類型,比如是LIST或ARRAY等,也就是說能進(jìn)行下標(biāo)索引的,此時就更簡單了,下面的代碼就用數(shù)組來實現(xiàn):
public IEnumable GetData(object[] source, int startIndex, int size) { for(int i = startIndex; i < startIndex + size && i < source.Length; i++) { yield return source[i]; } }
- 3 回答
- 0 關(guān)注
- 778 瀏覽
添加回答
舉報
0/150
提交
取消