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