2017-07-18 90 views
0

我在dojo 1.10版本的增強型網格中進行服務器端過濾。 Here在文檔中明確提到使用 屬於StateStateful屬性。另外,如果我們使用isStateful屬性,我們需要使用URL參數也根據 文檔是dojo狀態服務器端過濾

當兩個isServerSide和isStateful是真實的,這是設置服務器URL的地方,如果它不能被檢索通過store.url。

我想知道這是怎麼回事store.url?我 已經搜查其他網站,其他的定義,我得到的URL是herehere

如果使用狀態,這是發送命令的URL。默認爲store.url

任何人都可以提供一個簡單的例子或演示如何使用isStateful屬性。我在這裏很困惑。我們需要爲此擁有服務器端腳本嗎?

回答

1
require(['dojo/store/JsonRest', 
     'gridx/Grid', 
     'gridx/core/model/cache/Async', 
     'gridx/modules/SingleSort', 
     'gridx/modules/pagination/Pagination', 
     'gridx/modules/CellWidget', 
     'dijit/registry', 
     'gridx/modules/Bar', 
     'gridx/support/LinkPager', 
     'gridx/support/Summary', 
     'dojo/domReady!'],function(Store, Grid, Async, Sort, Pagination, CellWidget, registry, Bar, LinkPager, Summary){ 
    var jsonStore = new Store({ 
     idProperty: "id", target: <your url>, 
       query: function(query, options) { 
        var request = {};    
        /* Paging Params. */ 
        if (grid==null) { 
         /* null on first call to server. */ 
         request.currentPage=0; 
         request.pageSize=DEFAULT_PAGE_SIZE; 
        } else { 
         request.currentPage=grid.pagination.currentPage(); 
         request.pageSize=grid.pagination.pageSize(); 
         if (request.pageSize==-1) { 
          /* Page size is -1 when 'ALL' records selected. Reset */ 
           request.pageSize=DEFAULT_PAGE_SIZE; 
         } 
        } 
        /* Sorting Parameters. */ 
        if (options.sort == null) { 
         /* null on first render. */ 
         request.sortAttribute="id"; 
         request.descending=false; 
        } else { 
         request.sortAttribute=options.sort[0].attribute; 
         request.descending=options.sort[0].descending; 
        } 
        var results = Store.prototype.query.call(this, request); 
        return results; 
       } 
      }); 
      grid = new Grid({ 
       cacheClass: Async, 
       store: jsonStore, 
       structure: <your column definition>, 
       barBottom: [{pluginClass: Summary, style: 'text-align: left;'},{pluginClass: LinkPager, style: 'text-align: right;'}], 
       modules:[Sort, Pagination, Bar, CellWidget]}); 
      grid.pagination.setPageSize(DEFAULT_PAGE_SIZE); 
      registry.byId('gridDIV').set('content', grid); 
      grid.startup(); 
     }); 
+0

這是gridx將它與增強型網格一樣嗎? – shv22

+0

@ shv22你可以試試。但取決於你正在使用的dojo版本。從1.9 oria的Gridx推薦。 – solarwind

+0

我正在使用1.10 dojo增強版...好吧我會試試 – shv22