单击showMore时如何显示gwt celltree的所有节点?
How to show all nodes of gwt celltree when showMore clicked?
我有一个简单的 GWT CellTree,默认节点大小通常为 25。实际上我的 CellTree 可能有大约 100-150 个节点,所以要查看所有节点,我必须多次单击 "Show more"。我想让这个 CellTree 在单击 "Show more" 时显示所有节点。
有什么办法吗?
所以我的最终解决方案是创建 CustomCellTree,它扩展 CellTree 并覆盖 onBrowserEvent(Event) 方法:
@Override
public void onBrowserEvent(Event event) {
if (event.getType().equals("mousedown")) {
EventTarget target = event.getEventTarget();
Element showMore = (Element)this.getElement().getLastChild().getFirstChild().getLastChild();
// HARDCODE
if(showMore.toString().replace("display: none;", "").equals(target.toString())) {
this.setDefaultNodeSize(2000);
this.getRootTreeNode().setChildOpen(0, false);
this.getRootTreeNode().setChildOpen(0, true);
}
}
super.onBrowserEvent(event);
}
只需从我的评论中提取具有合理格式的代码:
@Override
public void onBrowserEvent(Event event) {
if (event.getType().equals("mousedown")) {
EventTarget target = event.getEventTarget();
Element showMore = (Element)this.getElement().getLastChild().getFirstChild().getLastChild();
// HARDCODE
if(showMore.toString().replace("display: none;", "").equals(target.toString())) {
this.setDefaultNodeSize(2000);
this.getRootTreeNode().setChildOpen(0, false);
this.getRootTreeNode().setChildOpen(0, true);
}
}
super.onBrowserEvent(event);
}
我有一个简单的 GWT CellTree,默认节点大小通常为 25。实际上我的 CellTree 可能有大约 100-150 个节点,所以要查看所有节点,我必须多次单击 "Show more"。我想让这个 CellTree 在单击 "Show more" 时显示所有节点。
有什么办法吗?
所以我的最终解决方案是创建 CustomCellTree,它扩展 CellTree 并覆盖 onBrowserEvent(Event) 方法:
@Override
public void onBrowserEvent(Event event) {
if (event.getType().equals("mousedown")) {
EventTarget target = event.getEventTarget();
Element showMore = (Element)this.getElement().getLastChild().getFirstChild().getLastChild();
// HARDCODE
if(showMore.toString().replace("display: none;", "").equals(target.toString())) {
this.setDefaultNodeSize(2000);
this.getRootTreeNode().setChildOpen(0, false);
this.getRootTreeNode().setChildOpen(0, true);
}
}
super.onBrowserEvent(event);
}
只需从我的评论中提取具有合理格式的代码:
@Override
public void onBrowserEvent(Event event) {
if (event.getType().equals("mousedown")) {
EventTarget target = event.getEventTarget();
Element showMore = (Element)this.getElement().getLastChild().getFirstChild().getLastChild();
// HARDCODE
if(showMore.toString().replace("display: none;", "").equals(target.toString())) {
this.setDefaultNodeSize(2000);
this.getRootTreeNode().setChildOpen(0, false);
this.getRootTreeNode().setChildOpen(0, true);
}
}
super.onBrowserEvent(event);
}