当窗口屏幕大小

时间:2018-01-11 15:00:33

标签: kendo-ui kendo-grid

我正在尝试使用窗口大小动态设置网格的页面大小,并填充其中的数据项/行。我已经添加了一个函数来计算网格可以容纳多少行。我已经测试了该函数并且它可以正常工作。但问题是数据项/行没有显示在网格内。仅供参考:在这里,我只是使用本地数据源作为测试目的。

计算行功能:

  function RowCount(){
  var TableHead = $('.k-grid-header').height();  
  var WWidth = $(window).height(); 
  var  TablePager = Math.round($('.k-grid-pager').height());
  var ExtraSpace=TableHead+TablePager;
  var EachRow=$('td:first-child').height();
  var  GridContent = Math.round(WWidth-ExtraSpace);
  var Rows=Math.round((WWidth-ExtraSpace)/EachRow);
    //return (Rows);
     alert(Rows);
  } 

最后重新绑定网格并获取数据:

var grid = $("#grid").data("kendoGrid");
//grid.hideColumn(0); 
    grid.bind("dataBound", RowCount);
    grid.dataSource.fetch();

但是,不显示数据项/行。 我哪里做错了?我还设置autobindig: false 这是我的道场:http://dojo.telerik.com/afUZeL/12

1 个答案:

答案 0 :(得分:0)

在加载网格之前,您无法获得RowCount。您无法在不知道PageSize的情况下加载网格。

我建议你设置一个初始大小,然后使用数据源的pagesize来计算你的计算。

var grid = $("#grid").data("kendoGrid");
//grid.hideColumn(0); 
//grid.bind("dataBound",RowCount);
//grid.dataSource.fetch();
grid.dataSource.pageSize(RowCount());
grid.refresh();