树小部件仅显示列表中的一个值 (GWT)
Tree widget shows only one value from list (GWT)
我正在开发 GWT 应用程序,我正在使用 com.google.gwt.user.client.ui.Tree;
和 com.google.gwt.user.client.ui.TreeItem;
小部件来显示来自我的 RPC 方法的所有 GwtDomain 对象。每个 GwtDomain 都有一些 GwtActions 值(在大多数情况下是读、写、删除,但不是在所有情况下)。这是我查找所有 GwtDomain 的方法,在他的 onSuccess 方法中,我正在寻找该 GwtDomain 的所有 GwtActions:
GWT_DOMAIN_SERVICE.findAll(new AsyncCallback<List<GwtDomain>>() {
@Override
public void onFailure(Throwable caught) {
exitMessage = MSGS.dialogAddPermissionErrorDomains(caught.getLocalizedMessage());
exitStatus = false;
hide();
}
@Override
public void onSuccess(List<GwtDomain> result) {
for (final GwtDomain gwtDomain : result) {
GWT_DOMAIN_SERVICE.findActionsByDomainName(gwtDomain.name(), new AsyncCallback<List<GwtAction>>() {
@Override
public void onFailure(Throwable caught) {
exitMessage = MSGS.dialogAddPermissionErrorActions(caught.getLocalizedMessage());
exitStatus = false;
hide();
}
@Override
public void onSuccess(List<GwtAction> result) {
for (GwtAction gwtAction : result) {
rootCheckBox= new CheckBox();
rootCheckBox.setBoxLabel(gwtDomain.toString());
treeItemCheckox = new CheckBox();
rootTreeItem = new TreeItem(rootCheckBox);
treeItem = new TreeItem(treeItemCheckox);
treeItemCheckox.setBoxLabel(gwtAction.toString());
rootTreeItem.addItem(treeItem);
}
tree.addItem(rootTreeItem);
}
});
}
但是使用这段代码,我总是只有一个来自 GwtAction 的值,而不是所有值(在大多数情况下,每个 treeItem2 应该有 3 个项目)。有人可以帮助我吗?
这是正常的。代码 tree.addItem(rootTreeItem);
在 for 循环之外。
一定在里面!
此致
我正在开发 GWT 应用程序,我正在使用 com.google.gwt.user.client.ui.Tree;
和 com.google.gwt.user.client.ui.TreeItem;
小部件来显示来自我的 RPC 方法的所有 GwtDomain 对象。每个 GwtDomain 都有一些 GwtActions 值(在大多数情况下是读、写、删除,但不是在所有情况下)。这是我查找所有 GwtDomain 的方法,在他的 onSuccess 方法中,我正在寻找该 GwtDomain 的所有 GwtActions:
GWT_DOMAIN_SERVICE.findAll(new AsyncCallback<List<GwtDomain>>() {
@Override
public void onFailure(Throwable caught) {
exitMessage = MSGS.dialogAddPermissionErrorDomains(caught.getLocalizedMessage());
exitStatus = false;
hide();
}
@Override
public void onSuccess(List<GwtDomain> result) {
for (final GwtDomain gwtDomain : result) {
GWT_DOMAIN_SERVICE.findActionsByDomainName(gwtDomain.name(), new AsyncCallback<List<GwtAction>>() {
@Override
public void onFailure(Throwable caught) {
exitMessage = MSGS.dialogAddPermissionErrorActions(caught.getLocalizedMessage());
exitStatus = false;
hide();
}
@Override
public void onSuccess(List<GwtAction> result) {
for (GwtAction gwtAction : result) {
rootCheckBox= new CheckBox();
rootCheckBox.setBoxLabel(gwtDomain.toString());
treeItemCheckox = new CheckBox();
rootTreeItem = new TreeItem(rootCheckBox);
treeItem = new TreeItem(treeItemCheckox);
treeItemCheckox.setBoxLabel(gwtAction.toString());
rootTreeItem.addItem(treeItem);
}
tree.addItem(rootTreeItem);
}
});
}
但是使用这段代码,我总是只有一个来自 GwtAction 的值,而不是所有值(在大多数情况下,每个 treeItem2 应该有 3 个项目)。有人可以帮助我吗?
这是正常的。代码 tree.addItem(rootTreeItem);
在 for 循环之外。
一定在里面!
此致