XML 문서는 대부분 하나 이상의 레코드를 가지고 있다.
HTML 엘리먼트는 한번에 하나의 레코드만을 출력하기 때문에 싱글 레코드 데이터 바인딩은 복잡해진다. HTML 엘리먼트에 보여지고 있는 레코드를 현재 레코드(current record)라고한다.
XML 문서에 연결된 DSO는 레코드 사이를 이동하기 위해 다음의 메소드 집합을 제공한다.
메소드 | 현재 레코드가 다음 레코드로 변한다. | 예제 호출 |
moveFirst | 문서 내의 첫번째 레코드 | dsoBook.recordset.moveFirst() |
movePrevious | 이전 레코드 | dsoBook.recordset.movePrevious() |
moveNext | 다음 레코드 | dsoBook.recordset.moveNext() |
moveLast | 문서내의 마지막 레코드 | dsoBook.recordset.moveLast() |
move | 지정된 번호의 레코드 | dsoBook.recordset.move(5) 6번째 레코드로 이동한다. 레코드 번호는 0부터... |
버튼은 푸시버튼을 사용하며 다음과 같다.
<BUTTON ONCLICK="dsoBook.recordset.moveFirst()"> First Record </BUTTON> |
레코드셋 객체는 BOF와 EOF 프로퍼티를 제공한다.(BOF=true, EOF=true)
파일의 시작상태
<BUTTON ONCLICK="dsoBook.recordset.movePrevious(); if (dsoBook.recordset.BOF) dsoBook.recordset.moveNext()"> Back </BUTTON> |
파일의 마지막
<BUTTON ONCLICK="dsoBook.recordset.moveNExt(); if (dsoBook.recordset.EOF) dsoBook.recordset.movePrevious()"> Forward </BUTTON> |
그럼 이제 예제를 통해 이해력을 높여보도록 하겠다.
html 파일
<html> <head> <title>Book Description</title> </head> <body> <XML ID="dsoBook" src="XMLFile1xml"></XML> <h2>Book description</h2> <SPAN style="font-style:italic">Title:</SPAN> <SPAN style="font-weight:bold" DATASRC="#dsoBook" DATAFLD="TITLE"></SPAN> <br> <SPAN style="font-style:italic">Autjor:</SPAN> <SPAN style="font-weight:bold" DATASRC="#dsoBook" DATAFLD="AUTHOR"></SPAN> <br> <SPAN style="font-style:italic">Binding Type:</SPAN> <SPAN style="font-weight:bold" DATASRC="#dsoBook" DATAFLD="BINDING"></SPAN> <br> <SPAN style="font-style:italic">Number of pages:</SPAN> <SPAN style="font-weight:bold" DATASRC="#dsoBook" DATAFLD="PAGES"></SPAN> <br> <SPAN style="font-style:italic">Price:</SPAN> <SPAN style="font-weight:bold" DATASRC="#dsoBook" DATAFLD="PRICE"></SPAN> <br> <hr> <BUTTON ONCLICK="dsoBook.recordset.movefirst();> First </BUTTON> <BUTTON ONCLICK="dsoBook.recordset.moveprevious(); if (dsoBook.recordset.BOF) dsoBook.recordset.moveNext()"> back </BUTTON> <BUTTON ONCLICK="dsoBook.recordset.movenext(); if (dsoBook.recordset.EOF) dsoBook.recordset.moveprevious()"> Forward </BUTTON> <BUTTON ONCLICK="dsoBook.recordset.movelast()"> Last </BUTTON> </body> </html> |
결과화면

Forward 클릭했을 경우

댓글 없음:
댓글 쓰기