项目种有用到jqGrid,当表格列信息比较多的时候,头部的拖动效果还是蛮好的,但是存在一个bug,就是拖动之后表格主体部分的宽度会变化,导致thead和tbody部分在视觉上有很大的差距。

效果如下图所示:

修改方法:

在源代码种找到dragEnd: function(a) {}进行修改,我是将dragEnd中的以下代码直接删掉了:

$("table:first", this.bDiv).css("width", c.tblwidth + "px"), $("table:first", this.hDiv).css("width", c.tblwidth + "px"),this.hDiv.scrollLeft = this.bDiv.scrollLeft, c.footerrow && ($("table:first", this.sDiv).css("width", c.tblwidth + "px"), this.sDiv.scrollLeft = this.bDiv.scrollLeft)),

删除之后的dragEnd代码如下:

dragEnd: function(a) {
      if (this.hDiv.style.cursor = "default", this.resizing) {
             var b = this.resizing.idx,
             e = this.headers[b].newWidth || this.headers[b].width;
             e = parseInt(e, 10),
             this.resizing = !1,
             $("#rs_m" + $.jgrid.jqID(c.id)).css("display", "none"),
             c.colModel[b].width = e,
             this.headers[b].width = e,
             this.headers[b].el.style.width = e + "px",
             this.cols[b].style.width = e + "px",
             this.footers.length > 0 && (this.footers[b].style.width = e + "px"),
             c.forceFit === !0 ? (e = this.headers[b + c.nv].newWidth || this.headers[b + c.nv].width, this.headers[b + c.nv].width = e, this.headers[b + c.nv].el.style.width = e + "px", this.cols[b + c.nv].style.width = e + "px", this.footers.length > 0 && (this.footers[b + c.nv].style.width = e + "px"), c.colModel[b + c.nv].width = e) : (c.tblwidth = this.newWidth || c.tblwidth),
             a && ($(d).triggerHandler("jqGridResizeStop", [e, b]), $.isFunction(c.resizeStop) && c.resizeStop.call(d, e, b))
          this.curGbox = null,
               document.onselectstart = function() {
                        return ! 0

这样,再次拖动表头的时候,就不会出现表格没有对齐的效果了。

项目种有用到jqGrid,当表格列信息比较多的时候,头部的拖动效果还是蛮好的,但是存在一个bug,就是拖动之后表格主体部分的宽度会变化,导致thead和tbody部分在视觉上有很大的差距。效果如下图所示:修改方法:在源代码种找到dragEnd: function(a) {}进行修改,我是将dragEnd中的以下代码直接删掉了:$("table:first", this.bDiv).css("width", c.tblwidth + "px"), $("table:first", thi
主要是宽度(高度自行调整,表格样式自己调整):表头thead与表体tbody宽度必须一一对应相等的宽度,否则会走形,长短不一; (一般滚动条的宽度是30px左右,所以我设定table宽度表头表体大30px;) jsp/html: // 表格对齐 var tbodyH = $("#tbody").outerHeight(true); if ($("#tbody tr").outerHeight(true) * $("#tbody tr").length > tbodyH) { $("#thead tr")...
我这里只有在popup页面里,给DataTable加假数据的时候会出现这种问题。 解决方法为: $('#button').on('shown.bs.modal', function (e) { tableAdd.columns.adjust(); id为点击出现popup页面的按钮。 将以下样式代码添加到index.html、或app.vue中(必须是入口文件,起全局作用!) body .el-table th.gutter{ display: table-cell!important; 2-2、自己新建css文件common.css,在文件中将上面样式写入 /* 解决element-ui的table...
使用jquery原文地址https://www.cnblogs.com/qq545505061/p/9647867.html; 初始话属性设置文档https://www.douban.com/note/86224998/ 最新跟新,table加上属性width:fit-content;td设置初始宽度,这样拖动列宽,table行宽也能跟着动了并且自动产生滚动条,原先table只有table-l...
此处实现页面的table表格可以自由拖动列宽,拖动时表格内文字不换行,超出部分以...代替,实现步骤如下: 1.首先引入jQuery和colResizable的js文件,colResizable支持表格拖动改变列宽,但基于jQuery, (1)colResizable可以去:http://www.bacubacu.com/colresizable/#rangeSlider下载 (2)引入文件...
其中,`scroll: 1` 用于启用滚动条,而 `setFrozenColumns` 则用于冻结表头。 对于拖动列宽,jqGrid 默认已经支持。您可以通过设置 `resize` 选项来启用列宽调整: ```javascript $("#grid").jqGrid({ resize: true, 这样,在表头右侧会出现可拖动的列宽调整块,您可以通过拖动来调整列宽。