gpt4 book ai didi

javascript - 如何在 GWT celltable 2.3 中创建依赖的下拉/选择单元格?

转载 作者:行者123 更新时间:2023-12-02 14:17:40 25 4
gpt4 key购买 nike

我正在使用gwt2.3 celltable。

在我的单元格表中,将有多个列,其中几列是相关的。

例如。名称和地址列是相关的名称和地址列包含我的自定义选择单元格。

在“名称”列中:1 个单元格包含 jon、tom、steve

当名称单元格包含 jon 时,我想在地址单元格中设置美国和英国

如果用户将名称单元格更改为 tom,那么我想在地址单元格中设置印度和中国

如果用户将名称单元格更改为 steve,那么我想在地址单元格中设置日本和不丹

我想在名称单元格选择更改时更改地址单元格中的相关数据。

我怎样才能实现这个目标?有任何示例代码或指针来执行此操作吗?

最佳答案

此解决方案适用于 GWT 2.5,但它应该可以在 2.3 中工作。我认为最好的方法是在更改第一列上的选择时修改 RecordInfo 元素。您可以在 CustomSelectionCell 中执行类似的操作:

@Override
public void onBrowserEvent(Context context, Element parent, C value, NativeEvent event, ValueUpdater<C> valueUpdater) {
super.onBrowserEvent(context, parent, value, event, valueUpdater);
if (BrowserEvents.CHANGE.equals(event.getType())) {
Xxxxx newValue = getSelectedValueXxxxx();
valueUpdater.update(newValue);
}
}

然后在您使用单元格的地方添加一个像这样的 fieldUpdater,它将使用新值更新 RecordInfo 并要求重新绘制行:

column.setFieldUpdater(new FieldUpdater<.....>() {
....
recordInfo.setXxxxx(newValue);
cellTable.redrawRow(index);
....
});

这将调用另一个 CustomSelectionCell 的渲染,您可以在其中检查 RecordInfo 的值是否已更改并根据需要更新选择值。示例:

@Override
public void render(Context context, C value, SafeHtmlBuilder sb) {
if (!value.getXxxxx().equals(this.lastValue)) {
this.items = loadItemsForValueXxxx(value.getXxxxx());
}
.... // Your usual render.
}

更改项目以设置默认选定项目时也要小心。

关于javascript - 如何在 GWT celltable 2.3 中创建依赖的下拉/选择单元格?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14534616/

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