首页 > 其他 > 详细

jqGrid表格 冻结列调整列宽后导致后一列左端被隐藏部分内容的问题

时间:2021-05-25 16:49:06      阅读:23      评论:0      收藏:0      [点我收藏+]

使用 jqGrid 渲染表格,手动拖拽冻结列,调整该列的列宽后,导致了后一列内容的左端被隐藏了部分内容。

技术分享图片

经过排查,发现这个情况只在冻结列调整列宽时出现,并且由于 jqGrid 不支持初始化后调整列宽,使用了以下 hack 方法:

jQuery(‘#grid-table‘).jqGrid({
          datatype: ‘local‘,
          shrinkToFit: false,
          autoScroll: true,
          height: ‘auto‘,
          autowidth: true,
          colNames: [
            ‘名称‘,
            // 此处留空
            ‘‘,
            ‘日期‘,
          ],
          colModel: [
          {
              name: ‘name‘,
              index: ‘name‘,
              width: 140,
              editable: false,
              sortable: false,
              frozen: true
          }, {
              // 此列用于hack修复冻结列拖拽后列宽错误的问题
              name: ‘block‘,
              index: ‘block‘,
              width: 1,
              fixed: true,
              hidedlg: true,
              hidden: true,
          }, {
              name: ‘date‘,
              index: ‘date‘,
              width: 120,
              editable: false,
              sortable: false,
          ],
          // ...
          resizeStart: function() {
            jQuery("#grid-table").setGridParam().showCol("block");
          },

即,在冻结列后加入一个隐藏的空白列,然后调整宽度事件触发之前,用 resizeStart 执行,显示该空白列。调整宽度事件结束后,该空白列刚好被隐藏,此时正常内容就能完整显示了。

jqGrid表格 冻结列调整列宽后导致后一列左端被隐藏部分内容的问题

原文:https://www.cnblogs.com/unclefang/p/14808988.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!