采用新的方法解决extjs4.1 grid合并单元格问题.docxVIP

采用新的方法解决extjs4.1 grid合并单元格问题.docx

  1. 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
采用新的方法解决extjs4.1 grid合并单元格问题

/kunoy/article/details/7829395采用新的方法解决extjs4.1 grid合并单元格问题 首先技术原理基于狂人论坛的大大yunfengcheng发的帖子《100行代码解决ExtJs4.1合并单元格问题》,表示感谢。如果需要他的代码各位可自行下载,在此不方便贴出(人家可卖30个金钱的呢,虽然有点小贵,呵呵)。好了,进入正题吧。首先使用他的代码后效果如下:从这幅图可以看出,该合并的都合并了,不该合并的也合并了,第三列“A单元”,属于不同的地块,不同栋数,常理是不应该合并的,所以引出一个问题,合并列时应该判断前一列的合并情况,属于不同合并区的单元格虽然值相等但不进行合并。效果应该是这样:这是优化后的代码效果,下面说说具体方法:如果你看了《100行代码解决ExtJs4.1合并单元格问题》的代码会发现,其中写了很多each语句,而且是嵌套的,在实现上图效果时,已经明显感觉速度有点慢,所以笔者就奇怪搞这么多each干嘛呢?直接用数组多好,参数已经指定合并的列了,用数组直接取不就得啦。代码如下:[javascript] /kunoy/article/details/7829395view plain/kunoy/article/details/7829395copy/kunoy/article/details/7829395print/kunoy/article/details/7829395?/**??*?Kunoy??*?合并单元格??*?@param?{}?grid??要合并单元格的grid对象??*?@param?{}?cols??要合并哪几列?[1,2,4]??*/??var?mergeCells?=?function(grid,cols){???var?arrayTr=document.getElementById(grid.getId()+-body).firstChild.firstChild.firstChild.getElementsByTagName(tr);?var?trCount?=?arrayTr.length;???var?arrayTd;???var?td;???var?merge?=?function(rowspanObj,removeObjs){?//定义合并函数??if(rowspanObj.rowspan?!=?1){???arrayTd?=arrayTr[rowspanObj.tr].getElementsByTagName(td);?//合并行??td=arrayTd[rowspanObj.td-1];???td.rowSpan=rowspanObj.rowspan;???td.vAlign=middle;?Ext.each(removeObjs,function(obj){?//隐身被合并的单元格??arrayTd?=arrayTr[obj.tr].getElementsByTagName(td);???arrayTd[obj.td-1].style.display=none;?});???}?};?var?rowspanObj?=?{};?//要进行跨列操作的td对象{tr:1,td:2,rowspan:5}?var?removeObjs?=?[];?//要进行删除的td对象[{tr:2,td:2},{tr:3,td:2}]?var?col;???Ext.each(cols,function(colIndex){?//逐列去操作tr?var?rowspan?=?1;???var?divHtml?=?null;//单元格内的数值??for(var?i=1;itrCount;i++){??//i=0表示表头等没用的行??arrayTd?=?arrayTr[i].getElementsByTagName(td);???var?cold=0;??//??????????Ext.each(arrayTd,function(Td){?//获取RowNumber列和check列?//??????????????if(Td.getAttribute(class).indexOf(x-grid-cell-special)?!=?-1)//??????????????????cold++;//??????????});?col=colIndex+cold;//跳过RowNumber列和check列??if(!divHtml){???divHtml?=?arrayTd[col-1].innerHTML;???rowspanObj?=?{tr:i,td:col,rowspan:rowspan}???}else{???var?cellText?=?arrayTd[col-1].innerHT

文档评论(0)

xcs88858 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

版权声明书
用户编号:8130065136000003

1亿VIP精品文档

相关文档