아래 스 니펫을 사용하여 NatTable 데이터를 지우고 새로 고침 작업을 완료 할 때 완전히 다시로드합니다.NatTable 데이터를 지우고 다시로드 할 때 행 선택 유지
natTable.getBodyDataProvider().getList().clear();
natTable.getBodyDataProvider().getList().addAll(inputList);
natTable.refresh();
데이터가 지워지고 재설정되기 때문에 새로 고침하기 전에 이전에 선택한 행으로 다시 열 선택을 설정할 수 없습니다.
그러나, 나는 선택을 복원 성공적으로 RowSelectionModel을 사용하고 있습니다에 정렬
final RowSelectionModel<T> rowSelectionModel = new RowSelectionModel<T>(bodyLayer.getSelectionLayer(),bodyDataProvider, rowIdAccessor);
bodyLayer.getSelectionLayer().setSelectionModel(rowSelectionModel);
데이터가 삭제하고 다시로드 때 행 선택을 복원 할 수 있나요?
기존의 PreserveModel에 대한 질문을 보았습니다. How to use Nebula NatTable's PreserveSelectionModel?하지만 내 질문에 답하지 못했습니다.
누구든지 이에 관해 더 많은 의견을 제시 할 수 있으면 감사하게 생각합니다.
감사합니다, SDS
Dirk. 답장을 보내 주셔서 감사합니다. 선택 개체를 캐싱하고 명확하고 다시로드하려면 rowSelectionProviderNatTable.setSelection (new StructuredSelection (previousSelectedObj))을 사용하여 선택 항목을 다시 설정합니다. 이것은 선택 사항을 표로 다시 설정하지 않습니다. NatTable에는 이미 PaintListener가 있으므로, 사용할 수있는 DefaultPaintListner가 있습니까? – SDS
질문을 이해하지 못합니다. 왜 다른 PaintListener를 추가 할 수 없습니까? –
NatTable과 SWT PaintListener를 처음 사용합니다. 행 선택 설정을위한 코드 스 니펫을 공유 할 수 있다면 감사하게 생각하십시오. 고맙습니다. – SDS