DataGrid——行高不起作用

问题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'类似的样式。

posted @   志在天涯  阅读(956)  评论(0编辑  收藏  举报
编辑推荐:
· 智能桌面机器人:用.NET IoT库控制舵机并多方法播放表情
· Linux glibc自带哈希表的用例及性能测试
· 深入理解 Mybatis 分库分表执行原理
· 如何打造一个高并发系统?
· .NET Core GC压缩(compact_phase)底层原理浅谈
阅读排行:
· 手把手教你在本地部署DeepSeek R1,搭建web-ui ,建议收藏!
· 新年开篇:在本地部署DeepSeek大模型实现联网增强的AI应用
· Janus Pro:DeepSeek 开源革新,多模态 AI 的未来
· 互联网不景气了那就玩玩嵌入式吧,用纯.NET开发并制作一个智能桌面机器人(三):用.NET IoT库
· 【非技术】说说2024年我都干了些啥
点击右上角即可分享
微信分享提示