"고급"테이블/스프레드 시트 SWT 위젯 (Nattable, Nebula Grid)이 있지만 실제로는 큰 데이터 세트를 지원하지 않습니다. Nattable은 가장 가까운 테이블이지만, 사용하는 데이터 유형에는 여전히 제한이있어 테이블의 행 수가 제한적으로됩니다.고급 SWT 테이블 위젯
나는 을 적어도 2^32 행, 바람직하게는 2^64로 나타낼 수 있어야합니다.
"고급"테이블/스프레드 시트 SWT 위젯 (Nattable, Nebula Grid)이 있지만 실제로는 큰 데이터 세트를 지원하지 않습니다. Nattable은 가장 가까운 테이블이지만, 사용하는 데이터 유형에는 여전히 제한이있어 테이블의 행 수가 제한적으로됩니다.고급 SWT 테이블 위젯
나는 을 적어도 2^32 행, 바람직하게는 2^64로 나타낼 수 있어야합니다.
reguar 테이블이있는 SWT.VIRTUAL
의 문제점은 무엇입니까? 그런 다음보기에 필요한 것을로드하기위한 콜백을 제공하는 LazyContentProvider,
을 사용할 수 있습니다. 이 같은
뭔가 ...
TableViewertableViewer = new TableViewer(parent, SWT.VIRTUAL|SWT.BORDER|SWT.V_SCROLL);
// skipping the noise
tableViewer.setItemCount(100000);
tableViewer.setContentProvider(new LazyContentProvider());
tableViewer.setLabelProvider(new TableLabelProvider());
tableViewer.setUseHashlookup(true);
tableViewer.setInput(null);
setItemCount (Integer.MAX_VALUE)를 사용해보십시오. SWT 테이블 위젯에는 모든 항목에 대한 백업 배열이 있습니다. 그것에 관한 유일한 "가상"은 필요할 때까지 실제 ** 값 **을 가져 오지 않는다는 것입니다. 검색이 비싸지 만 2 백만 행을 초과하여 확장되지 않는 경우이 방법이 유용합니다. – JesperE
정확하게 2^32 행이 필요한 경우 SWT.VIRTUAL 스타일의 테이블을 Integer.MAX_VALUE 항목과 함께 사용하고, 예를 들어 항목 500 (2^31 밖)을 표시해야 할 경우 항목 번호를 인쇄합니다. 1000 (2^32)입니다. –
아쉽게도 setItemCount (Integer.MAX_VALUE)는 OutOfMemory 오류를 발생시킵니다. 테이블 컨트롤이 그 크기의 배열을 생성하려고하기 때문에 추측 할 수 있습니다. – JesperE
SWT Matrix 휴식 행이나 열의 BigInteger의 양을 허용 용량 bariers. 폐쇄 형 소스이지만 개인용 및 비상업적 용도로는 무료입니다. 이 시점에서 초기 알파가 출시됩니다.
오른쪽 마음에 어떤 사용자가 2^32를보고 싶어합니까? 나는 당신이 당신의 요구 사항을 개정 할 것을 제안한다. – andyczerwonka
아무도 ** ** 2^32 행을 보지 않고 있습니다. ** 해결 ** 문제입니다. 내가 가진 모델은 32 비트 메모리 공간입니다. 행 개수를 2^32로 설정할 수 없다면 필자가 피하고 싶은 자신의 페이징 체계를 구현해야 할 것입니다. – JesperE