차근차근/JAVA Script

테이블 병합 및 필요없는 데이터 안 보이게 하기

예쁜꽃이피었으면 2015. 6. 9. 14:48

http://lng1982.tistory.com/83 이곳 소스에다가 필요없는 데이터 가리는 것 추가했다.


음.. 그러니까 데이터를 받아서 뿌려야 하는데.. 

빨간칸처럼 빈값이 같이 넘어와서 머지할 수 있는 규칙을 제대로 찾을 수 없었다.


음.. 머지는 이렇게 함.

$(document).ready(function() {


// cell merge

mergeCell("educationTable"); // educationTable테이블명


});


//cell merge

function mergeCell(tableId) {


// variable 정의

var first = true;

var prevRowspan1 = 1;

var prevCell1 = null;

var prevRowspan2 = 1;

var prevCell2 = null;


// tr 모두 추출

var rows = $("#" + tableId + " > tbody").children();


for (var i = 0; i < rows.length; i++ ) {


// first row

if (first) {

prevRow = rows[i];

prevCell1 = $(prevRow).find("td").eq(0); // 년도

prevCell2 = $(prevRow).find("td").eq(1); // 1

first = false;

continue;

}


var row = rows[i]; // row

var tdList = $(row).find("td"); // row > td 리스트


var firstCell = $(tdList).eq(0); // 첫 번째 행

var secondCell = $(tdList).eq(1); // 두 번째 행

var firstCellText = $(firstCell).text(); // 첫 번째 행 text 추출

var secondCellText = $(secondCell).text(); // 두 번째 행 text 추출


// 두 번째 row 부터 텍스트 비교

if (prevCell1.text() == firstCellText) {

if (prevCell2.text() == secondCellText) { // 점수 값 비교

prevRowspan2++; // 중복되는 값이 있으므로 rowspan +1

$(prevCell2).attr("rowspan", prevRowspan2); // 첫 번째 row의 두 번째 cell에 rowspan 추가 (점수)

$(secondCell).remove(); // 중복 cell element 삭제


} else {

prevRowspan2 = 1;

prevCell2 = secondCell;

}


prevRowspan1++;

$(prevCell1).attr("rowspan", prevRowspan1);

$(firstCell).remove();

}

else {

//년도 

prevRowspan1 = 1;

prevRowspan2 = 1;

prevCell1 = firstCell;

prevCell2 = secondCell;

}

}

}


<tbody>

<c:choose>

<c:when test="${!empty result}">

<c:forEach var="data" items="${result}">

<c:set var="total" value="${data.total}"/>

<c:choose>

<c:when test="${fn:substring(total,2,3) != '|' && empty fn:replace(data.date,'[]','')}">

<tr>

<td >1열의 데이터</td>

<td >2열의 데이터</td>

</tr>

</c:when>

<c:otherwise>

<tr>

<td >년도의 데이터</td>

<td >1열의 데이터</td>

<td>2열의 데이터</td>

<td>3열의 데이터</td>

<td>4열의 데이터</td>

<td>5열의 데이터</td>

<td>6열의 데이터</td>

</tr>

</c:otherwise>

</c:choose>

.......

</tbody>


반응형

'차근차근 > JAVA Script' 카테고리의 다른 글

jQuery v2.1.4 , ie8 , addEventListener  (0) 2015.08.21
nav , ie8  (0) 2015.08.21
jQuery를 이용한 테이블 셀병합  (0) 2015.06.08
js로그 콘솔에 찍는 방법  (0) 2015.06.08
자바스크립트 셀렉트박스 선택하기  (0) 2015.06.08