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'类似的样式。
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 智能桌面机器人:用.NET IoT库控制舵机并多方法播放表情
· Linux glibc自带哈希表的用例及性能测试
· 深入理解 Mybatis 分库分表执行原理
· 如何打造一个高并发系统?
· .NET Core GC压缩(compact_phase)底层原理浅谈
· 手把手教你在本地部署DeepSeek R1,搭建web-ui ,建议收藏!
· 新年开篇:在本地部署DeepSeek大模型实现联网增强的AI应用
· Janus Pro:DeepSeek 开源革新,多模态 AI 的未来
· 互联网不景气了那就玩玩嵌入式吧,用纯.NET开发并制作一个智能桌面机器人(三):用.NET IoT库
· 【非技术】说说2024年我都干了些啥