js 合併單元格的方法(使用直接呼叫資料時排列好的)
/*****************關於合併單元格演算法的實現*************************/
//呼叫方式:mergerows("tbodyGuestDatum", 1, 2);
//引數:第一個:表名 第二個:合併第一列 第二個:合併第二列
var arrtitle = new Array();
var index = 0;
//遞迴呼叫
function mergerows(table, cols, cols1) {
merge(table, cols);
if (parseInt(cols1) > parseInt(cols)) {
for (var i = 0; i < arrtitle.length; i++) {
index = 0;
MergeSub(table, cols1, arrtitle[i]);
}
}
}
//合併單元格
function merge(table, cols) {
var result = "";
var num = 0;
var tr = $("#" + table + " tr[name!='hascospan']");
tr.each(function(i) {
var td = $(this).find("td:eq(" + (cols - 1) + ")");
result = result == "" ? td.text() : result;
if (jQuery.inArray(td.text(), arrtitle) == -1) {
arrtitle.push(td.text());
}
if (result == td.text()) {
num += 1;
if (num != 1) {
td.remove();
}
$(this).attr("name", "hascospan");
$(this).attr("type", result);
} else {
return false;
}
}).end();
$(tr[0]).find("td:eq(" + (cols - 1) + ")").text(result);
$(tr[0]).find("td:eq(" + (cols - 1) + ")").attr("rowspan", num);
if ($("#" + table + " tr[name!='hascospan']").length == 0) return false;
else
merge(table, 1); //遞迴呼叫
}
//合併子單元格
function MergeSub(table, cols, title) {
var result = "";
var num = 0;
var tr = $("#" + table + " tr[type='" + title + "'][class!='yes']");
tr.each(function(i) {
var td = i == 0 ? index == 0 ? $(this).find("td:eq(" + (cols - 1) + ")") : $(this).find("td:eq(0)") : $(this).find("td:eq(0)");
result = result == "" ? td.text() : result;
if (result == td.text()) {
num += 1;
if (num != 1) {
td.remove();
}
$(this).attr("class", "yes");
} else
return false;
}).end();
if (index == 0) {
$(tr[0]).find("td:eq(" + (cols - 1) + ")").text(result);
$(tr[0]).find("td:eq(" + (cols - 1) + ")").attr("rowspan", num);
} else {
$(tr[0]).find("td:eq(0)").text(result);
$(tr[0]).find("td:eq(0)").attr("rowspan", num);
}
if ($("#" + table + " tr[type='" + title + "'][class!='yes']").length == 0) return false;
else {
index = 1;
MergeSub(table, cols, title); //遞迴呼叫
}
}
相關文章
- Excel合併單元格資料的方法教程Excel
- js 表格合併單元格JS
- Excel合併單元格的兩種簡單方法Excel
- 自定義的單元格合併
- elementui表格動態資料單元格合併UI
- Html合併單元格HTML
- excel合併的單元格重新填充Excel
- js實現table合併相同列單元格JS
- JS動態生成表格後 合併單元格JS
- vue表格合併單元格Vue
- EasyExcel-合併單元格Excel
- Html Table 合併單元格HTML
- GridView合併單元格View
- PowerBuilder---合併相同單元格UI
- element中表格合併單元格
- Element-plus 合併單元格
- elementui——表格的相同內容單元格合併UI
- 使用jquery合併表格中相同文字的相鄰單元格jQuery
- el-table自定義合併單元格後,單元格錯亂的問題
- Bootstrap-table 合併相同單元格boot
- JavaScript合併表格中的內容相同的單元格JavaScript
- js運算元組中資料排列組合JS
- postgresql高階應用之合併單元格SQL
- td單元格合併程式碼例項
- NPOI擴充套件--判斷指定單元格是否為合併單元格和輸出該單元格的行列跨度(維度)套件
- 關於HTML表格合併單元格的靈魂拷問HTML
- table表格單元格合併程式碼例項
- devexpress report 合併列具有重複值的單元格devExpress
- 快速查詢EXCEL整個工作表中的合併單元格Excel
- table表格單元格橫向和屬性合併
- 【專案實戰】---EasyUI DataGrid單元格合併UI
- Java Servlet 實現合併多單元格匯出ExcelJavaServletExcel
- 複製excel中設定了公式的單元格資料的方法Excel公式
- JAVA使用poi匯出Excel,合併單元格,設定自動列寬JavaExcel
- 玩電腦的豈能不知道excel怎麼合併單元格?Excel
- excel合併單元格快捷鍵 excel多個表格內容合併到一起Excel
- 單元格資料鑽取
- js物件合併方法JS物件