私はウィケットにかなり慣れていないので、メーリングリストに関する情報を保持する単純なウィケットツリーを作成しようとしています。このメーリングリストは、ある手紙に関連しています。
- メーリングリストDto 1
- ユーザー 1
- ユーザー 2
- メーリングリストDto 2
- ユーザー 3
- ユーザー 4
既存のレターを編集している場合、そのレターに関連するメーリングリストが取得さinto mailingListCollection
れ、ツリー上の対応するノードが選択されて展開されます。何らかの理由で、私はこれが機能していないようです。
選択および展開されたノードは、UI で選択または展開されたようには表示されませんが、たとえばプログラムで選択されたノードを調べてonAfterRender()
、選択および展開された値をログに記録すると、ノードが展開されて選択されます。
tree = new TreeTable("treeTable", treeModel, treeColumns) { @オーバーライド public void onBeforeRender() { super.onBeforeRender(); if (!mailingListCollection.isEmpty()) { for (MailingListDto mailingList : mailingListCollection) { tree.getTreeState().expandNode(mailingList); tree.getTreeState().selectNode(mailingList, true); } } tree.updateTree(); } @オーバーライド 保護されたボイド onAfterRender() { super.onAfterRender(); if (LOG.isDebugEnabled()) { LOG.debug("onAfterRender: " + tree.getTreeState().getSelectedNodes().size()); for (Object obj : tree.getTreeState().getSelectedNodes()) { LOG.debug(tree.getTreeState().isNodeSelected(obj) + " " + tree.getTreeState().isNodeExpanded(obj)); } } } }; tree.setRootLess(真); tree.getTreeState().setAllowSelectMultiple(true); 追加 (ツリー);