2017-04-24 44 views

回答

0

我想你會發現網格視圖處理分頁時沒有任何代碼可以使用跳過和取出。你正在做的是試圖做內存分頁,網格視圖已經這樣做。總之作爲一個練習,你會想

const int PageSize = 5 
int pageNumber = 3; 
int skip = (pageNumber - 1)*PageSize; 

IEnumerable<DataRow> MyDataPage = dt.AsEnumerable().Skip(skip).Take(PageSize); 

我還要補充一點,你與.NET中的技術棧,這只是確實存在爲了支持舊版播放。大多數曾經一度曾使用DataSets和DataTables的人現在正在使用實體框架和LINQ。加上經典的ASP.NET頁面不再是開發Web表單的選擇。您可能更適合學習MVC或Angular JS和Web API

+0

感謝您的提示。我在使用Spring Framework的日常工作中使用了MVC,但是我希望在第一天使用.net來減慢速度。我如何使網格視圖處理分頁?添加PageSize =「5」不能解決問題。 – Frreshia

+0

請嘗試以下這篇文章.... https://www.codeproject.com/Articles/816953/How-To-Implement-Paging-in-GridView-Control-in-ASP。學習經典的ASP.NET頁面並不是我所說的「緩慢的東西」,它的意義非常不同,並且過時了,它是一個16年前的,用於構建Web應用程序的非常高級的開發SDK。這個框架的主要抱怨之一是它太黑盒並隱藏太多。除了廣泛的架構概念之外,您將無法擺脫它,這將幫助您使用更現代化的框架和方法 – Mick

0
Make sure these two fields are sent as part of HttpRequest from client 
/// <summary> 
    /// Number of records that should be shown in table 
    /// </summary> 
    public int DisplayLength { get; set; } 

    /// <summary> 
    /// First record that should be shown(used for paging) 
    /// </summary> 
    public int DisplayStart { get; set; } 

//Server side code 
GetData(){ 

      Members.Skip(param.DisplayStart) 
      .Take(param.DisplayLength); 
}