2015-02-04 243 views
0

我有兩個數據源的具體問題。我想將分頁重置爲1,當我從切換下拉菜單最近寫入最近使用過。我認爲這個問題是因爲這些來自兩個不同的數據源,分頁不會刷新,而是會保持不變,例如第2頁,即使在我點擊不同的選擇下拉列表後。劍道UI分頁

分頁發生在這裏,但我不知道如何「重置」它。 Recently DinedRecently Written

if (this.dataSource.totalPages() <= 1) { 
    this.pager.element.hide(); 
} 
else { 
    this.pager.element.show(); 
} 

jQuery(document).ready(function() { 
(function ($) { 

    var kendo = window.kendo; 
    var ui = kendo.ui, 
     Grid = ui.Grid, 
     DATABOUND = "dataBound"; 
    var 
     _init = kendo.ui.Grid.fn.init; 


    var CompanyGrid = Grid.extend({ 
     init: function (element, options) { 
      var that = this; 

      Grid.fn.init.call(that, element, options); 

      // register custom dataBound 
      that._registerDataBound(); 
     }, 
     _registerDataBound: function() { 
      var that = this; 

      that.bind(DATABOUND, function(e) { 
       if (!this.pager) { 
        return; 
       } 
       // Hides page arrows if <= 1 page 
       if (this.dataSource.totalPages() <= 1) { 
        this.pager.element.hide(); 
       } 
       else { 
        this.pager.element.show(); 
       } 
      }); 
     } 
    }); 

    ui.plugin(VengaGrid); 
}(jQuery)); 

});

這裏的文檔:http://docs.telerik.com/kendo-ui/api/javascript/ui/pager 更新

我試圖

if (this.dataSource.totalPages() <= 1) { 
    this.pager.element.hide(); 
} else { 
    this.pager.page(1); 
} 

and got this 
<error>jquery.min.js:1 p.Eventjquery.min.js:14 p.Eventjquery.min.js:14 p.event.fixjquery.min.js:14 p.event.dispatchjquery.min.js:14 p.event.add.g.handle.h 
jquery.min.js:14 <error> 
3jquery.min.js:1 <error> 
2jquery.min.js:1 <error> 
86jquery.min.js:14 <error> 
jquery.js?body=1:347 Uncaught RangeError: Maximum call stack size exceeded 

回答

1

呼叫dataSource.page(0);在您切換數據源後

+0

我應該在哪裏打電話給? – gary1410

+0

只是在'this.pager.element.show()'後面調用'this.pager.page(1)',它似乎不起作用。 'this.pager'是一個kendo對象,但只要我調用'.element',它就會變成一個javascript對象。 – gary1410

+0

就像我在答案中所說的那樣,你需要在數據源上調用它,而不是尋呼機。 – JFlox