|
版本: |
其它(帖子中说明) |
小版本号: |
3.8 |
|
|
数据库: |
MySQL |
服务器操作系统: |
Windows |
应用服务器: |
Tomcat |
客户端操作系统: |
Windows 其它 |
浏览器: |
Chrome |
|
|
业务需求,需要一级指标相同的合并,二级指标相同的合并,三级指标相同的合并,指标要求设置也要单元格合并。不是列的合并。用的是案例写的那套JS。但是效果不好,大量JS仅能合并一种字段。并且有时候我还得点一下一级指标那列它才合并。有没有更好的方法?
JS如下:
var taskData = this.comp('treeData');
var lastName = '';// 记录上一个单元格的值,用于比较
var delRowArr = [];// 保存被合并的行ID,最后设置隐藏
var spanRowArr = [];// 保存要设置合并的行ID,最后设置合并
var spanNum = 0;// 记录需要合并几行
var firstRowID;// 记录需要合并的行ID
taskData.each(function(option) {// 在遍历时进行比较,确定合并方式
if (lastName == option.row.val('fYJZB')) {
delRowArr.push(option.row.getID());
spanNum++;
} else {
if (lastName != '' && spanNum > 1)
spanRowArr.push([ firstRowID, spanNum ]);
spanNum = 1;
lastName = option.row.val('fYJZB');
firstRowID = option.row.getID();
}
});
if (spanNum > 1) {
spanRowArr.push([ firstRowID, spanNum ]);
}
if (spanRowArr.length > 0) {// 设置合并
$.each(spanRowArr, function(i, rowid) {
var cell = event.source.getCell(rowid[0], 'fYJZB');
$(cell).attr('rowspan', rowid[1]);
});
}
if (delRowArr.length > 0) {// 设置隐藏
$.each(delRowArr, function(i, rowid) {
var cell = event.source.getCell(rowid, 'fYJZB');
$(cell).hide();
});
}
|
-
grid
|