项目种有用到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,
这样,在表头右侧会出现可拖动的列宽调整块,您可以通过拖动来调整列宽。