TreeTable에서 부모 - 자식 링크를 만드는 데 문제가 있습니다. Vaadin, TreeTable. setParent
table.setContainerDataSource(new TempPeopleContainer(((MyUI) UI.getCurrent()).peopleService.getItemList()));
table.setParent(1,0);
데이터 소스
의설정은 어떻게 데이터 소스 설정의이 종류의 객체의 ID를 설정할 수 있습니까? TreeTable의 요소에 대해 명시 적 ID가 없습니다.
private class TempPeopleContainer extends FilterableListContainer<People> {
public TempPeopleContainer(final Collection<People> collection) {
super(collection);
}
// This is only temporarily overridden until issues with
// BeanComparator get resolved.
@Override
public void sort(final Object[] propertyId, final boolean[] ascending) {
final boolean sortAscending = ascending[0];
final Object sortContainerPropertyId = propertyId[0];
Collections.sort(getBackingList(), (o1, o2) -> {
int result = 0;
if ("lastname".equals(sortContainerPropertyId)) {
result = o1.getLastname().compareTo(o2.getLastname());
}
if (!sortAscending) {
result *= -1;
}
return result;
});
}
}
I :
TreeTable ttable = new TreeTable("My TreeTable");
ttable.addContainerProperty("Name", String.class, null);
ttable.addContainerProperty("Number", Integer.class, null);
ttable.setWidth("20em");
// Create the tree nodes and set the hierarchy
ttable.addItem(new Object[]{"Menu", null}, 0);
ttable.addItem(new Object[]{"Beverages", null}, 1);
ttable.setParent(1, 0);
ttable.addItem(new Object[]{"Foods", null}, 2);
ttable.setParent(2, 0);
가 내 TempPeopleContainer 클래스 정의입니다 :
다음은 (내 응용 프로그램에서 코드가 아닙니다) 각 요소에 대한 아이디의의 "명확하게"정의를 볼 수 있습니다 example from vaadin입니다 내 질문에 분명히 희망을. 감사.
내가 더 명확하게 이해할 수없는 것, 내가 테이블 – zond
에서 ID로 콩에서 ID를 설정하는 방법은 당신을 위해 예를 추가했습니다. setParent()는 항목 ID 인 Object를 허용합니다. 항목 ID는 항목 자체와 유사 할 수 있습니다. 잘하면 equals() 메소드를 구현했기 때문에 모든 것이 잘 동작해야한다. – wolle