拖拽表格,列与表头无法对齐(多级表头时)

在使用jqgrid实现多级表头时,遇到拖拽列后与表头对齐的问题。通过分析JS源码,可以找到解决方法,包括直接修改min.js或src.js文件的特定部分,以确保拖动后列与表头保持正确对齐。
摘要由CSDN通过智能技术生成

最近在用jqgrid,但是需要对Header进行多级分组,结果出现下面现象:

简单整理了一下JS源码里的内容( 这是min.js文件,还有src.js文件):

{
   
b=a.extend({
   
	useColSpanStyle:!1,
	groupHeaders:[]
	},b||{
   });

return this.each(function(){
   
	this.p.groupHeader=b;
	var c,d,h=0,k,e,s,f,g,
	m=this.p.colModel,
	x=m.length,
	q=this.grid.headers,
	p=a("table.ui-jqgrid-htable",this.grid.hDiv),
	l=p.children("thead").children("tr.ui-jqgrid-labels:last").addClass("jqg-second-row-header");
	k=p.children("thead");
	var n=p.find(".jqg-first-row-header");
	void 0===n[0]?
	n=a("<tr>",{
   role:"row","aria-hidden":"true"}).addClass("jqg-first-row-header").css("height","auto"):n.empty();
	var r,w=function(a,b){
   
		var c=b.length,d;
		for(d=0; d<c; d++)
		if(b[d].startColumnName===a)
		return d;
		return-1
	};
	
	a(this).prepend(k);
	k=a("<tr>",{
   role:"rowheader"}).addClass("ui-jqgrid-labels jqg-third-row-header");
	for(c=0; c<x; c++)
	if(	s=q[c].el,
		f=a(s),
		d=m[c],
		e={
   height:"0px",width:q[c].width+"px",display:d.hidden?"none":""},
		a("<th>",{
   role:"gridcell"}).css(e).addClass("ui-first-th-"+this.p.direction).appendTo(n),
		s.style.width="",
		e=w(d.name,b.groupHeaders),
	0<=e){
   
		e=b.groupHeaders[e];
		h=e.nu
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Qt是一个跨平台的C++应用程序开发框架,提供了丰富的控件和功能,可以用于开发各种类型的应用程序。 在实现表格树控件,如果需要支持多级表头,可以借助Qt的QHeaderView类来实现。QHeaderView类是Qt中用于表格或树型视图的表头控件,它可以显示或行的标题,并且支持拖动和调整宽度。 首先,创建一个QTreeView控件作为表格树控件的显示部分。然后,创建一个QHeaderView对象作为表格树控件的表头,使用setModel()函数将表头设置给表格树控件。接下来,设置表头的显示模式为水平模式,使用setSectionResizeMode()函数设置每一的调整方式,例如,可以设置为可以自动调整大小或者禁止调整大小。 为了支持多级表头,可以使用QHeaderView的addSection()函数来添加多级表头。逐级添加表头,需要设置每一级表头的标签、起始数和对齐方式。可以使用setHeaderData()函数为每一级的表头设置样式。 接着,使用setHeaderHidden()函数将QTreeView的默认表头隐藏起来,这样就只展示了我们自定义的多级表头。同,可以使用setRootIsDecorated()函数将树节点的展开和收缩图标隐藏起来,以使得表格树控件更加美观。 最后,将数据模型设置给QTreeView控件,通过添加树节点和设置节点的父子关系,来组织表格树的数据结构。数据模型可以继承自QAbstractItemModel类,实现相关的接口函数,以提供数据的展示和操作。 通过以上步骤,我们就可以实现一个支持多级表头表格树控件。用户可以通过拖动和调整表头以调整宽度,同展示复杂的表头结构,方便显示和操作大量数据。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值