홈>
데이터 세트가 큰 테이블을 만들려고하는데 페이징을 피하고 싶습니다. (그리드가 그려진 후 데이터를 검색하는 Yahoo Mail 그리드와 비슷한 작업을하고 싶습니다. 처음 100 개의 메일을 검색 한 다음 사용자가 아래로 스크롤 한 후에 만 메일을 검색하는 것으로 생각합니다)
내가 본 데이터 프리젠 테이션 위젯의 예로는 페이징이 있습니다. 내가 원하는 것을 할 수 있습니까?편집 :이것을 무한 스크롤 테이블이라고 부를 수도 있습니다
-
답변 # 1
-
답변 # 2
GWT 쇼케이스에는 이것의 예가 있습니다
/** * A scrolling pager that automatically increases the range every time the * scroll bar reaches the bottom. */ public class ShowMorePagerPanel extends AbstractPager { /** * The default increment size. */ private static final int DEFAULT_INCREMENT = 20; /** * The increment size. */ private int incrementSize = DEFAULT_INCREMENT; /** * The last scroll position. */ private int lastScrollPos = 0; /** * The scrollable panel. */ private final ScrollPanel scrollable = new ScrollPanel(); /** * Construct a new {@link ShowMorePagerPanel}. */ public ShowMorePagerPanel() { initWidget(scrollable); // Handle scroll events. scrollable.addScrollHandler(new ScrollHandler() { public void onScroll(ScrollEvent event) { // If scrolling up, ignore the event. int oldScrollPos = lastScrollPos; lastScrollPos = scrollable.getScrollPosition(); if (oldScrollPos >= lastScrollPos) { return; } HasRows display = getDisplay(); if (display == null) { return; } int maxScrollTop = scrollable.getWidget().getOffsetHeight() - scrollable.getOffsetHeight(); if (lastScrollPos >= maxScrollTop) { // We are near the end, so increase the page size. int newPageSize = Math.min( display.getVisibleRange().getLength() + incrementSize, display.getRowCount()); display.setVisibleRange(0, newPageSize); } } }); } /** * Get the number of rows by which the range is increased when the scrollbar * reaches the bottom. * * @return the increment size */ public int getIncrementSize() { return incrementSize; } @Override public void setDisplay(HasRows display) { assert display instanceof Widget : "display must extend Widget"; scrollable.setWidget((Widget) display); super.setDisplay(display); } /** * Set the number of rows by which the range is increased when the scrollbar * reaches the bottom. * * @param incrementSize the incremental number of rows */ public void setIncrementSize(int incrementSize) { this.incrementSize = incrementSize; } @Override protected void onRangeOrRowCountChanged() { } }
-
답변 # 3
예, 가능합니다. 예전에는 DynaGrid라는 예제가 있었지만 지금은 연결이 끊어졌습니다. 다른 곳에서는 찾을 수 없었습니다 (참고 : SourceForge의 DynaGrid와 동일하지 않습니다). 자신의 DynaGrid 사본을 얻는 방법에 대해 문의하려면 저자 Reinier Zwitserloot에게 문의하십시오. 또한 GWT 그룹을 검색 할 수 있으며 아무것도 찾지 못하면 다른 곳을 찾을 수 있는지 묻는 질문을 게시하십시오.
-
답변 # 4
Ext Gwt (AKA GXT)에는 "라이브 그리드 (Live Grid)"가 구현되어 있습니다. "는이 기능을 지원합니다 (http://www.sencha.com/examples/explorer.html#livegrid 참조). 상용 응용 프로그램에서이 라이센스를 사용할 수는 있지만 코드는 GPL입니다.
트렌드
- OpenCv의 폴더에서 여러 이미지 읽기 (python)
- 파이썬 셀레늄 모든 "href"속성 가져 오기
- git commit - 자식 - 로컬 커밋 된 파일에 대한 변경을 취소하는 방법
- html - 자바 스크립트 - 클릭 후 변경 버튼 텍스트 변경
- JSP에 대한 클래스를 컴파일 할 수 없습니다
- javascript - 현재 URL에서 특정 div 만 새로 고침/새로 고침
- jquery - JavaScript로 현재 세션 값을 얻으시겠습니까?
- javascript - swiperjs에서 정지, 재생 버튼 추가
- vue.js - axios를 사용하여 서버에 이미지를 업로드하는 방법
- python - 문자열에서 특정 문자 제거
Dean은 이미 Ext GWT를 언급했지만 SmartGWT의 구현도 제안하고 싶습니다.