gpt4 book ai didi

java - 输入字段更改后的 Wicket 数据表过滤

转载 作者:行者123 更新时间:2023-11-28 20:32:34 28 4
gpt4 key购买 nike

在 Wicket 应用程序中,我有一个 DefaultDataTable,带有 SortableDataProvider 的扩展和一个可点击的列(AbstractColumn 的扩展)。

数据表附带搜索字段和按钮,因此用户可以过滤表(比较搜索词和表内容)。

但是,我更喜欢不同的方法。如果用户不必单击按钮来匹配结果,但表格将在搜索字段插入或删除每个字符后更新(立即过滤,而不是按下按钮后),那就更好了。此外,记录中与搜索词匹配的部分应加下划线或采用不同的字体颜色。

我知道 Javascript 可以实现类似的功能,但我不知道如何将 Javascript 附加到数据表。我怎样才能做到这一点?或者有更好/替代的方法来实现我的愿望吗?

任何帮助将不胜感激!

最佳答案

您可以使用AjaxFormComponentUpdatingBehavior向表单组件添加ajax行为。 ajax 的调用取决于构造函数中指定的 js 事件,在本例中为“onkeyup”。然后,您将 ajax 重新渲染的组件作为目标,对于 wicket 4、5 target.addComponent(datatable); 对于 wicket 6x target.add(datatable); 。但请注意,数据表将其 OutputMarkupId 设置为 true target.addComponent(datatable);,这对于 wicket ajax 定位的任何组件都是必需的。

datatable.setOutputMarkupId(true); 

field.add(new AjaxFormComponentUpdatingBehavior("onkeyup") {
@Override
protected void onUpdate(AjaxRequestTarget target) {
target.addComponent(datatable);
}
});

您可能还需要throttling , 希望这可以帮助!

关于java - 输入字段更改后的 Wicket 数据表过滤,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16062744/

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