我正在用服務器端分頁來構建igGrid。網格掛鉤到由Visual Studio使用實體框架自動生成的OData v3控制器。篩選和排序操作正常,但分頁不是。igGrid服務器端分頁不起作用
問題似乎是網格將page = x和pageSize = y放入查詢字符串,但OData格式爲$ top = x和$ skip = y。請注意,只更改名稱頁面和pageSize是不夠的,因爲$ skip的值需要是index * pageSize。我已經嘗試了多種編輯控制器的方式來支持頁面和pageSize,但無濟於事。
我可以手動輸入具有$ top和$ skip功能的OData請求URL到我的瀏覽器的地址欄中,並獲得想要的結果。有沒有辦法讓網格使用$ top和$ skip?網格本身在c#控制器中定義,並作爲模型的一部分傳遞到頁面中,我注意到因此我無法訪問GridPaging對象的pageIndexUrlKey和pageSizeUrlKey屬性。 grid.OData設置爲true。
默認情況下,頁面應該使用$ top和$ skip發送OData查詢字符串。你能發佈你的igGrid配置嗎? –
GridModel grid = new GridModel(); grid.EnableUTCDates = true; grid.ID =「membersGrid」; grid.FixedHeaders = false; grid.DefaultColumnWidth =「100px」; #區域[Paging] GridPaging分頁=新GridPaging(); paging.Type = OpType.Remote; paging.PageSize = 10; paging.CurrentPageIndex = 0; paging.PageSizeList =新列表 {10,25,50,100}; grid.Features.Add(paging); #endregion grid.DataSourceUrl =「/ odata/viewMemberBalances」; grid.ResponseDataKey =「value」; grid.OData = true; –
謝謝你的回覆。這是讓網格使用正確的查詢字符串參數,但仍然有兩個問題:1)當頁面第一次加載時,網格使用頁面和pageSize查詢參數進行調用,這導致顯示每個記錄直到頁面大小由用戶改變。 2)查詢字符串缺少$ inlinecount = allpages參數,因此我的控制器不會告訴網格有更多條目,並且只有1個頁面顯示給用戶。我已經確認手動將$ inlinecount = allpages添加到查詢字符串返回計數。 –