setDataIdxforTable , 셀에 rowspan과 colspan 을 계산해서 data-row-idx, data-cell-idx 을 넣어준다.

1
setDataIdxforTable , 셀에 rowspan과 colspan 을 계산해서 data-row-idx, data-cell-idx 을  넣어준다.

var getRowCellCounts = function(table){
let rowCount = table.rows.length;
let cellCount = 0;
let tr,td;
for(const tr of table.rows){
let sum = 0;
for(const td of tr.cells){
sum+=td.colSpan;
}
cellCount = Math.max(cellCount,sum)
};
return {rowCount:rowCount,cellCount:cellCount}
}
var setDataIdxforTable = function(table,rowCount,cellCount){
let arr = new Array(rowCount*cellCount);
for(const tr of table.rows){
let st = tr.rowIndex * cellCount;
for(const td of tr.cells){
td.removeAttribute('data-row-idx');
td.removeAttribute('data-cell-idx');
while(st < arr.length && arr[st]!==undefined ){
st++
}
if(st >= arr.length ){
break;
}
arr[st] = td;
for(let i=2,m=td.colSpan;i<=m;i++){
arr[st+(i-1)] = td;
}
for(let i=2,m=td.rowSpan;i<=m;i++){
arr[st+cellCount*(i-1)] = td;
}
}
};
let dri=0,dci=0;
for(let i=0,m=arr.length;i<m;i++){
const td = arr[i];
if(td.hasAttribute('data-row-idx')){
continue;
}
dri = Math.floor(i/cellCount);
dci = i%cellCount;

td.setAttribute('data-row-idx',dri)
td.setAttribute('data-cell-idx',dci)
}
},
댓글
  • No Nickname
    No Comment
  • 권한이 없습니다.
    {{m_row.m_nick}}
    -
제목 작성자 날짜
공대여자
공대여자
mins01
ui_treemap new 2
공대여자
공대여자
공대여자
공대여자
공대여자
공대여자
공대여자
공대여자
공대여자
공대여자
공대여자
공대여자
공대여자
공대여자
공대여자