2014-01-20 42 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

我很高兴听到它,欢呼声兄弟:) –