2014-01-20 68 views
6

我想要分頁顯示只有當我有更多的記錄比我的pageSize。有什麼辦法可以達到這種效果嗎?KendoUI網格 - 以編程方式開啓/關閉分頁

理想情況下,當客戶端添加/刪除數據時,分頁機制會相應地顯示/隱藏(同樣,只有在頁面大小超過頁面大小時才顯示)。

任何想法/解決方法?

更新

由j4ro提供的答案似乎工作的偉大,一旦我刪除了高度設置代碼。這對我沒有必要,但是你的里程可能會有所不同,因爲我沒有用更典型的用例來測試它。

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

回答

7

添加此功能,您的網格上的數據綁定事件:

dataBound: function() { 
     var gridContent = this.element.find('.k-grid-content'); 
     if (this.dataSource.totalPages() === 1) { 
      gridContent.css('height', gridContent.height() + this.pager.element.innerHeight()); 
      this.pager.element.hide(); 
     } 
     else { 
      this.pager.element.show(); 
      gridContent.css('height', gridContent.height() - this.pager.element.innerHeight()); 
     } 
    } 
+0

嗯,貌似正確的做法,但似乎並不完全正確。結果:給定頁面大小爲10,如果項目<10,則尋呼機被隱藏,但是網格的高度是一行高(或者可能是尋呼機的高度)。當項目> 10時,只有尋呼機可見。我正在使用knockout-kendo庫來執行綁定,不知道是否會干擾這種方法... –

+0

更新了我的答案 - 當我刪除高度設置代碼時,此工作很好。我並不需要它使用網格(使用duranda + knockout-kendo)。謝謝! –

+0

我很高興聽到它,歡呼聲兄弟:) –