면책 조항 : 나는 오랫동안 두통없이 YUI DataTable 을 많이 사용 합니다 . 강력하고 안정적입니다. 사용자의 요구를 들어, 당신은 사용할 수 있습니다 ScrollingDataTable의 느릅 나무의 suports을
- x 스크롤
- y 스크롤
- xy 스크롤
- 강력한 이벤트 메커니즘
당신이 필요로하는 것을 원한다면 tableScrollEvent 입니다. API는 말합니다
고정 스크롤 DataTable에 스크롤이 있으면 시작됩니다.
각 DataTable은 DataSource를 사용하므로 필요에 따라 ScrollingDataTable을 채우기 위해 렌더링 루프 크기와 함께 tableScrollEvent 를 통해 데이터 를 모니터링 할 수 있습니다 .
렌더 루프 크기
DataTable이 매우 큰 데이터 집합을 모두 표시 해야하는 경우 renderLoopSize 구성은 브라우저 DOM 렌더링을 관리하여 UI 스레드가 매우 큰 테이블에 고정되지 않도록 도와 줍니다. 0보다 큰 값은 DOM 렌더링이 setTimeout () 체인에서 실행되어 각 루프에서 지정된 수의 행을 렌더링합니다. 딱딱하고 빠른 규칙이없고 일반적인 지침 만 있으므로 구현마다 이상적인 값을 결정해야합니다.
- 기본적으로 renderLoopSize는 0이므로 모든 행이 단일 루프로 렌더링됩니다. renderLoopSize> 0은 오버 헤드를 추가하므로 신중하게 사용하십시오.
- 데이터 집합 이 사용자가 시각적 렌더링에서 지연 시간을 경험하거나 스크립트가 중단되도록 충분히 큰 경우 (행 수 X 열 수 X 형식 복잡성) renderLoopSize 설정을 고려하십시오 .
- 50 미만의 renderLoopSize는 그만한 가치가 없을 것입니다. renderLoopSize> 100이 더 좋습니다.
- 데이터 세트는 수백 행과 수백 행이없는 한 충분히 큰 것으로 간주되지 않습니다.
- renderLoopSize> 0 및 <total rows를 사용하면 테이블이 하나의 루프 (렌더링 루프 크기 = 0과 동일)로 렌더링되지만 렌더링 후 행 스트라이핑과 같은 기능이 별도의 setTimeout 스레드에서 처리되도록 트리거합니다.
예를 들어
// Render 100 rows per loop
var dt = new YAHOO.widget.DataTable(<WHICH_DIV_WILL_STORE_YOUR_DATATABLE>, <HOW YOUR_TABLE_IS STRUCTURED>, <WHERE_DOES_THE_DATA_COME_FROM>, {
renderLoopSize:100
});
<WHERE_DOES_THE_DATA_COME_FROM>은 단일 DataSource 입니다. JSON, JSFunction, XML 및 단일 HTML 요소 일 수 있습니다.
여기 에서 내가 제공 한 간단한 튜토리얼을 볼 수 있습니다. 주의 다른 동시에 DATA_TABLE pluglin 지원 단일 및 이중 클릭. YUI DataTable을 사용하면 가능합니다. 또한 JQuery에서도 두통없이 사용할 수 있습니다.
몇 가지 예를 볼 수 있습니다
YUI DataTable에 대한 다른 사항에 대해서는 언제든지 문의하십시오.
문안 인사,