게시판의 타이틀..그러니깐 글번호, 제목, 작성자..등등을 클릭하면 해당 항목에 맞게 정렬이 되는 기능이 있는데
이게 사실 구현하기 어려운것보단 은근히 개노가다이다.
이런 개노가다를 TDC를 이용하면 손쉽게 해결할수 있다. MSDN에서 TDC관련 문서를 보면 잘 나와있긴하지만..간단한 함수로
만들어서 개발자가 몇가지 작업만 있으면 바로 적용 할 수 있도록 만들었다.
헌데 한가지 문제가 있다. 이 정렬기능을 이용하려면 TDC데이타를 한번에 모두 뿌려줘야한다.
예를 들어서 페이징 할때 10개의 페이지가 있다고 하면 10개 페이지 해당분량의 데이타를 클라이언트가 모두
받아야..정렬이 제대로 이루어진다는거다.
어찌보면 아주 당연한건데 말로풀어 설명하니 존내 힘들다. 그래서 그냥 넘어간다. -_-
<script language=javascript>
function TdcSort(tdc_id) {
var srcEl = event.srcElement;
srcNm = srcEl.innerHTML
if (srcNm.search("▲") == -1 && srcNm.search("▼") == -1) {
srcEl.innerHTML = srcNm + "▲";
oList.Sort = tdc_id;
} else if (srcNm.search("▼") > -1) {
srcNm = srcNm.replace("▼","");
srcEl.innerHTML = srcNm + "▲";
oList.Sort = tdc_id;
} else if (srcNm.search("▲") > -1) {
srcNm = srcNm.replace("▲","");
srcEl.innerHTML = srcNm + "▼";
oList.Sort = "-"+tdc_id;
}
oList.reset();
}
</script>
<table width="680" cellpadding="1" cellspacing="1" border="0" DataSrc="#oList" >
<thead>
<tr class="TD_SBJ">
<td width="40">No</td>
<td width="90"><a href="#" onclick="TdcSort('keyword')">약자</a></td>
<td width="150"><a href="#" onclick="TdcSort('korean')">한글</a></td>
<td width="200">영어</td>
<td width="120">유의어</td>
<td width="80">액숑</td>
</tr>
</thead>
<tbody>
<tr>
<td class="TD_COT" align="center"><span DATAFLD="num" DATAFORMATAS="HTML"></span></td>
<td class="TD_COT" align="center" style=background-color:cccccc><span DATAFLD="keyword" DATAFORMATAS="HTML"></span></td>
<td class="TD_COT"><span DATAFLD="korean" DATAFORMATAS="HTML"></span></td>
<td class="TD_COT"><span DATAFLD="english" DATAFORMATAS="HTML"></span></td>
<td class="TD_COT"><span DATAFLD="similar" DATAFORMATAS="HTML"></span></td>
<td class="TD_COT" align="center"><span DATAFLD="auction" DATAFORMATAS="HTML"></span></td>
</tr>
<tbody>
<tfoot>
<tr id="nodata" style="display:none">
<td colspan="10" align="center" height="30">데이타가 없습니다.</td>
</tr>
</tfoot>
</table>
잘 보면 HTML 소스코드 부분에 <a href="#" onclick="TdcSort('keyword')">약자</a> 이 부분이 보인다. 이건 keyword로 정렬을 하겠다는 거다.
에잇! 귀찮아서 그만 적는다.
나중에 콘디숑 좋으면 추가해서 적던가 정리하던가 하겠다.