

gridComplete: function () {
//表格加載完成后呼叫方法
var gridName = "gridTable";
//Merger(gridName, 'fullname');
Merger(gridName, 'workpackagename');
}
});
}
function Merger(gridName, CellName) {
//得到顯示到界面的id集合
var mya = $("#" + gridName + "").getDataIDs();
//當前顯示多少條
var length = mya.length;
for (var i = 0; i < length; i++) {
//從上到下獲取一條資訊
var before = $("#" + gridName + "").jqGrid('getRowData', mya[i]);
//定義合并行數
var rowSpanTaxCount = 1;
for (j = i + 1; j <= length; j++) {
//和上邊的資訊對比 如果值一樣就合并行數+1 然后設定rowspan 讓當前單元格隱藏
var end = $("#" + gridName + "").jqGrid('getRowData', mya[j]);
var cellNames = CellName.split(",");
if (cellNames.length == 1) {
if (before[cellNames[0]] == end[cellNames[0]]) {
rowSpanTaxCount++;
$("#" + gridName + "").setCell(mya[j], cellNames[0], '', { display: 'none' });
} else {
rowSpanTaxCount = 1;
break;
}
$("#" + cellNames[0] + "" + mya[i] + "").attr("rowspan", rowSpanTaxCount);//最后合并需要合并的行與合并的行數
$("#" + cellNames[0] + "" + mya[i] + "").css("vertical-align", "middle");
} else {
if (before[cellNames[0]] == end[cellNames[0]]) {
if (before[cellNames[1]] == end[cellNames[1]]) {
rowSpanTaxCount++;
$("#" + gridName + "").setCell(mya[j], cellNames[1], '', { display: 'none' });
} else {
rowSpanTaxCount = 1;
break;
}
} else {
rowSpanTaxCount = 1;
break;
}
$("#" + cellNames[1] + "" + mya[i] + "").attr("rowspan", rowSpanTaxCount);//最后合并需要合并的行與合并的行數
$("#" + cellNames[1] + "" + mya[i] + "").css("vertical-align", "middle");
}
}
}
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/qianduan/84329.html
標籤:JavaScript
上一篇:Javaweb網頁設計,JSp頁面獲取不到servlet中的物件
下一篇:HTML5什么時候會涼涼
