如何在CellTree GWT中进行搜索

如何在CellTree GWT中进行搜索,gwt,tree,cell,Gwt,Tree,Cell,我已经实现了一个CellTree,我使用的是GWT版本2.5.1-rc1,它运行良好,服务器响应是异步的。但是我需要在这个CellTree中执行搜索,并在找到节点并打开它时执行搜索。你知道我是如何在CellTree中实现这一点的吗 我的视图代码: VerticalPanel vPanel=新的VerticalPanel(); CustomTreeModel模型=新CustomTreeModel(); CellTree.Resources res=GWT.create(CellTree.Basic

我已经实现了一个
CellTree
,我使用的是GWT版本2.5.1-rc1,它运行良好,服务器响应是异步的。但是我需要在这个
CellTree
中执行搜索,并在找到节点并打开它时执行搜索。你知道我是如何在CellTree中实现这一点的吗

我的视图代码:

VerticalPanel vPanel=新的VerticalPanel();
CustomTreeModel模型=新CustomTreeModel();
CellTree.Resources res=GWT.create(CellTree.BasicResources.class);
CellTree树=新的CellTree(模型,空,分辨率);
vPanel.add(树);
我的
CustomTreeModel
代码:

公共类CustomTreeModel实现TreeViewModel{
私人迈塞尔数据中心;
私有单选择模型选择模型;
公共CustomTreeModel(){
dataTreeCell=new MyCell();
selectionModel=新的SingleSelectionModel();
}
/**
*获取{@link NodeInfo},它提供指定
*价值观。
*/
@凌驾
public TreeViewModel.NodeInfo getNodeInfo(T值){
ListDataProvider dataProvider=新ListDataProvider();
requestData(数据提供者,(TreeNode)值);
返回新的DefaultNodeInfo(dataProvider、dataTreeCell、,
selectionModel,null);//dataTreeCell
}
@凌驾
公共布尔isLeaf(对象值){
返回(值instanceof…);
}
私有void requestData(最终列表dataProvider dataProvider,
最终树节点){
试一试{
RequestBuilder rb=新的RequestBuilder(RequestBuilder.GET,url);
rb.setCallback(newrequestcallback()){
@凌驾
公共void onError(请求,可丢弃异常){
警告(“发生错误”+异常.getMessage());
}
@凌驾
接收到公共无效onResponseReceived(请求-请求,响应-响应){
if(200==response.getStatusCode()){
dataProvider.getList().addAll(response.branchesList());
dataProvider.refresh();
}否则{
Window.alert(“发生错误”+response.getStatusCode());
}
}
});
rb.send();
}捕获(请求异常e){
警告(“发生错误”+e.getMessage());
}
}
}

欢迎任何帮助

您可以尝试在树节点上使用操作,如:

TreeNode node = cellTree.getRootTreeNode();
  int max = node.getChildCount();
for (int i = 0; i < max; i++) {
  if (!node.isChildOpen(i)) {
    node.setChildOpen(i, open, false);
  }
TreeNode=cellTree.getRootTreeNode();
int max=node.getChildCount();
对于(int i=0;i
这是一个魔术。树上的节点将被扩展:)