HTML 의 데이터 바 인 딩

정보 출처:WayneDeng 의 칼럼 은 자바 에서 생각해 본 적 이 있 습 니까? script 에서 recordset 를 사용 합 니까?원래 클 라 이언 트 에서 데 이 터 를 조작 하 는 것 도 이렇게 간단 하고 데이터 소스 를 정의 하 며 데 이 터 를 각종 tag 에 연결 시 켜 응용 프로그램 과 같은 효 과 를 실현 할 수 있 습 니 다.멋 있 습 니 다!(먼저 한 가지 말씀 드 리 지만 문장의 내용 은 모두 msdn 에서 나 왔 습 니 다.하지만 제 말로 정리 할 뿐 입 니 다.)먼저 이런 두 가지 예 를 보 자.http://msdn.microsoft.com/workshop/samples/author/databind/dbevts.htm http://msdn.microsoft.com/workshop/samples/author/databind/dbupdate.htm 마이크로소프트 에 다시 한 번 탄복 하지 않 을 수 없다.이것 은 DataBinding 의 구조 입 니 다架构물론 데이터 바 인 딩 을 실현 하 는 데 다음 과 같은 몇 가지 단계 가 있 습 니 다.첫 번 째 단 계 는 데이터 소스 를 IE 4.0 에서 정의 하면 다음 과 같은 네 가지 데이터 소스 를 지원 합 니 다.Tabular Data Control (TDC)TDC 는 형식 이 있 는 텍스트 데 이 터 를 간단하게 접근 하 는 방법 을 제공 합 니 다.일반적으로 csv 파일 입 니 다.다음은 간단 한 예 이다.      Remote Data Service (RDS)원 격 데이터 서비스,원 격 서버 의 데이터,인터넷 에 직접 접근 Explorer 4.0. RDS OLE-DB 를 통 해서. 혹시 Open Database Connectivity (ODBC)를 실현 합 니 다.예제:               클 라 이언 트 가 이 코드 를 볼 수 있 기 때문에 안전성 에 문제 가 있 는 것 같 습 니 다.XML Data Source XML 은 더 이상 말 하지 않 겠 습 니 다.IE 4.0 에서 이렇게 사용 합 니 다.      Internet Explorer 5 이상 은 이렇게 할 수 있다:     reference     property     ACCESSKEY     accessKey     Sets or retrieves the accelerator key for the object. 다른 IE 는 XML 데이터 섬의 개념 도 제공 했다.XML Data Islands.   MSHTML Data 소스 html 데이터 페이지 예제:Hector Berlioz 1803 Modest Moussorgsky 1839 Franz Liszt 1811이 정의 되면 이렇게 접근 할 수 있 습 니 다..두 번 째 단계:HTML 요소 에 연 결 된 데 이 터 는 일반적으로 tag 의 datasrc 와 datafld 를 통 해 연 결 됩 니 다.INPUT TYPE=TEXTBOX DATASRC="#dsoComposers" DATAFLD="compsr_last">와 이것 은 바 인 딩 표 의 예제 입 니 다.http://msdn.microsoft.com/workshop/samples/author/databind/dbtable.htm 데이터 원본:                바 인 딩 된 table    FirstLastBirthDeathOrigin                        이것 이 효과 입 니 다:First Last Birth Death Origin  Hector Berlioz 1803 1869 France  Modest Moussorgsky 1839 1881 Russia  Franz Liszt 1811 1886 France  Antonio Vivaldi 1678 1741 Italy  Johann Sebastian Bach 1685 1750 Germany  Ludwig van Beethoven 1770 1827 Germany  Wolfgang Amadeus Mozart 1756 1791 Austria  Joseph Haydn 1732 1809 Germany  Claude Debussy 1862 1918 France  세 번 째 단계:데이터 의 동적 추가,삭제 등(대상 모델)당연히 바 인 딩 은 동적 일 수 있 습 니 다.script 에서:span1.dataSrc = "#dsoComposer"; span1.dataFld = "compsr_first"; html 는 다음 과 같 습 니 다:데이터 원본 에 접근 할 수 있 는 ado:var oRecordSet = dsoComposer.recordset; 자 연 스 럽 게 oRecordSet 이 있어 요. .MoveNext 등등.INPUT ID=cmdNavFirst TYPE=BUTTON VALUE="<<"     onclick="tdcComposers.recordset.MoveFirst()">  "     onclick="tdcComposers.recordset.MoveNext();         if (tdcComposers.recordset.EOF)             tdcComposers.recordset.MoveLast();"> >"     onclick="tdcComposers.recordset.MoveLast()">이렇게 사용 할 수 있 습 니 다: For Each objFld in rsAttendees.Fields     document.write("The field name is " & objFld.Name & "
")     document.write("The field value is " & objFld.Value & "
")Next삭제 기록 을 추가 하면 oRecordSet.AddNew()와 oRecordSet.delete()입 니 다.세 번 째 단계:각종 데이터 이벤트(이벤트 모델)에 응답 하여 데이터 변경 후 해당 하 는 처 리 를 어떻게 합 니까?msdn 에서 제공 하 는 방법 은 다음 과 같 습 니 다.    …… 이벤트 이름 목록 입 니 다:Event Bubbles Cancelable Applies to Introduced In Internet Explorer Version  onbeforeupdate True True bound elements 4.0  onafterupdate True False bound elements 4.0  onrowenter True False DSO 4.0  onrowexit True True DSO 4.0  onbeforeunload False False window 4.0  ondataavailable True False DSO 4.0  ondatasetcomplete True False DSO 4.0  ondatasetchanged True False DSO 4.0  onerrorupdate True True bound elements 4.0  onreadystatechange True False DSO 4.0  oncellchange True False DSO 5.0  onrowsinserted True False DSO 5.0  onrowsdelete True False DSO 5.0  어때요?내 생각 에는http://msdn.microsoft.com/workshop/samples/author/databind/dbevts.htm응용 이 비교적 종합 적 인 예 라 고 할 수 있 으 니 잘 연구 해 보면 반드시 수확 이 있 을 것 이다.인터넷 에는 데이터 바 인 딩 을 이용 하여 페이지 를 나 누 는 사례 가 적지 않 습 니 다.사실 데이터 바 인 딩 은 더 많은 일 을 할 수 있 습 니까?리치 client 에는 매우 복잡 한 datagrid 를 만 드 는 등 매우 큰 응용 이 있 습 니 다.지금 은 서버 측 과 의 동기 화 를 어떻게 간편 하 게 실현 하 는 지 알 고 싶 습 니 다.클 라 이언 트 의 데이터 바 인 딩 은 서버 측 에 영향 을 주지 않 기 때 문 입 니 다.(서버 측 에서 데이터 원본 을 생 성 할 수 있 지만 클 라 이언 트 의 조작 은 자동 으로 서버 로 돌아 가지 않 습 니 다)msdn 에서 RDS 가 가능 하 다 고 말 했 지만 이런 방법 은 너무 서 툴 고 안전 하지 않 습 니 다.

좋은 웹페이지 즐겨찾기