0
为什么此方法不保存新选定的类别。我的代码有问题吗?为什么TextField中的setText不起作用?
catCon = new TextField();
rowEditing.addEditor(catConfig, catCon);
这是用于设置catCon代码:
TextButton save = new TextButton("Save");
save.addSelectHandler(new SelectEvent.SelectHandler() {
@Override
public void onSelect(SelectEvent event) {
selectedItems = new LinkedList<Short>();
for (int i = 0; i < toCat.size(); i++) {
selectedItems.add(toCat.get(i).getIDCategory());
}
Collections.sort(selectedItems);
newSelectedItems = selectedItems.toString().replace(",", "-").replace("[", "").replace("]", "").replace(" ", "");
msg = new MessageBox("SELECTED ITEMSSSSSSSSS: " + selectedItems.size() + " " + newSelectedItems);;
msg.show();
catCon.setText(newSelectedItems);
hide();
}
});
,这是其中的COMMITED改变保存:
rowEditing.getSaveButton().addSelectHandler(new SelectEvent.SelectHandler() {
@Override
public void onSelect(SelectEvent event) {
store.commitChanges();
service.saveUserRights(store.get(index), new AsyncCallback<Boolean>() {
@Override
public void onFailure(Throwable caught) {
msg = new MessageBox("Error", caught.getMessage());
msg.show();
}
@Override
public void onSuccess(Boolean result) {
if (result) {
msg = new MessageBox("Information", "Changes saved.");
msg.show();
service.getURListGrid(new AsyncCallback<List<UserRights>>() {
@Override
public void onFailure(Throwable caught) {
MessageBox msg = new MessageBox("Error", caught.getMessage());
msg.show();
}
@Override
public void onSuccess(List<UserRights> result) {
store = new ListStore<UserRights>(properties.idRight());
store.addAll(result);
grid.reconfigure(store, cm);
}
});
} else {
msg = new MessageBox("Error", "Failed to save changes.");
msg.show();
}
}
});
}
});
当我要设置catCon有将不会改变数据,但当我手动输入类别时,将会有变化。有人能帮助我吗?
当您启用自动提交时会发生什么? store.setAutoCommit(true) – udeleng 2015-02-25 00:54:23
@udeleng我会尝试这一行代码。谢谢 – 2015-02-25 01:07:52
@udeleng我很抱歉,但它不起作用。它不保存新选择的类别 – 2015-02-25 01:13:23