gpt4 book ai didi

google-app-engine - 如何在不触发 onSelectionChange(...) 的情况下取消选择 GWT CellTable 中的一行

转载 作者:行者123 更新时间:2023-12-04 06:05:55 24 4
gpt4 key购买 nike

我有一个启用了 SingleSelectionModel 的 GWT CellTable。一旦用户单击一行, onSelectionChange(...) 就会启动我的确认对话框,询问用户是否继续。问题是当用户单击“取消”时,没有任何 react ,但他无法选择同一行(假设 CellTable 中只有 1 行)我知道一旦用户单击“取消”,我就可以清除选择,但这会再次触发 onSelectionChange(..) 并触发我的确认对话框......这是一个无限循环。

以下是我的代码:

// Add SelectionModel to dTable;
final SingleSelectionModel<Driver> ssm = new SingleSelectionModel<Driver>();
dTable.setSelectionModel(ssm);
ssm.addSelectionChangeHandler(new SelectionChangeEvent.Handler() {
@ Override
public void onSelectionChange(final SelectionChangeEvent event)
{

SC.confirm("Do you want to contact the driver?", new BooleanCallback() {
public void execute(Boolean value) {
if (value != null && value) {
final Driver d = ssm.getSelectedObject();
dataStoreService.updateDrivers(d._UUID.toString(),tripDate.getValue(), loginInfo.getEmailAddress(),destination.getText().trim(),
new AsyncCallback<String>() {
public void onFailure(Throwable caught) {

caught.printStackTrace();
}

public void onSuccess(String uuid) {
Window.alert("The driver has been notified. Please keep your reference id: "+uuid);
}
});
dataStoreService.getBookings(loginInfo.getEmailAddress(), new AsyncCallback<List<Booking>>() {
public void onFailure(Throwable caught) {

caught.printStackTrace();
}

public void onSuccess(List<Booking> myBookings) {
ClientUtilities.populateBookings(bookingDataProvider, myBookings);
}
});
} else {
//clear selection
//ssm.setSelected(ssm.getSelectedObject(), false);

}
}
});

}
});

有人能告诉我如何处理 CellTable 中的这种情况吗?我愿意接受任何解决方案。

最佳答案

SelectionChangeEvent在选择更改后触发。这不是要求确认的合适地方:为时已晚。

你最好用 CellPreviewEvent.Handler .见 https://groups.google.com/d/topic/google-web-toolkit/YMbGbejU9yg/discussion它讨论了完全相同的问题(确认选择更改)并提供了示例代码。

关于google-app-engine - 如何在不触发 onSelectionChange(...) 的情况下取消选择 GWT CellTable 中的一行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8358325/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com