码迷,mamicode.com
首页 > 其他好文 > 详细

DataGrid——行高不起作用

时间:2016-07-12 17:31:11      阅读:135      评论:0      收藏:0      [点我收藏+]

标签:

问题1:rowStyler 设置行高不起作用:

在 DataGrid 组件中,提供了 rowStyler 函数,用于设置行的css 样式,但是实践发现,对于height设置不起作用。跟踪代码发现如下:

function _58b(trs1,trs2){
for(var i=0;i<trs2.length;i++){
var tr1=$(trs1[i]);
var tr2=$(trs2[i]);
tr1.css("height","");
tr2.css("height","");
var _591=Math.max(tr1.height(),tr2.height());
tr1.css("height",_591);
tr2.css("height",_591);
}
};

 

在1.4版本中位于7855行。

将一下两行注释掉即可:

tr1.css("height","");
tr2.css("height","");

 

问题2:使用上述方法之后,行高只对内容区域起作用,对表头仍然不起作用,这是因为 rowStyler  函数只是在绑定数据的时候生成新行的时候被调用,在初始化,生成表头的过程中没有被调用。

解决方法如下:

在调用 datagrid 函数初始化之后,调用如下方法:

function setHeaderHeight(divGrid,height) {
    divGrid.find(".datagrid-view").find("tr").css("height", height);
    var view = divGrid.find(".datagrid-view");
    var tr1 = view.find(".datagrid-view1").find(".datagrid-htable .datagrid-header-row");
    var tr2 = view.find(".datagrid-view2").find(".datagrid-htable .datagrid-header-row");
    _58b(tr1, tr2);
    function _58b(trs1, trs2) {
        for (var i = 0; i < trs2.length; i++) {
            var tr1 = $(trs1[i]);
            var tr2 = $(trs2[i]);
            var _591 = Math.max(tr1.height(), tr2.height());
            tr1.css("height", _591);
            tr2.css("height", _591);
        }
    };
}

 

其中 divGrid为表格的div容器的jquery对象。height则为‘20px‘类似的样式。

DataGrid——行高不起作用

标签:

原文地址:http://www.cnblogs.com/SunBlog/p/5664018.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!