我正在使用Wicket 1.4 DataTable并手动过滤,如Apache Wicket Cookbook中所述。它也可以在免费提供的样本章节中找到:https://www.packtpub.com/sites/default/files/1605OS-Chapter-5-Displaying-Data-Using-DataTable.pdf
但是我在Wicket API中找到了FilterToolbar。现在在互联网上,人们说Wicket Phonebook on Wicketstuff就是一个例子,但它不起作用。
与Wicket Cookbook中提供的手动过滤相比,将DataTable与FilterToolbar一起使用有什么好处? FilterToolbar自动执行什么操作?我对Wicket API文档中的FilterToolbar的这句话特别感兴趣:
表单组件由实现的列提供 IFilteredColumn。
感谢代码示例或工作屏幕截图甚至页面:)
答案 0 :(得分:3)
我能够在本地运行电话本应用程序而不会出现问题。从https://github.com/wicketstuff/core/tree/master/jdk-1.5-parent/phonebook下载并使用mvn jetty:run
运行。
IFilteredColumn的实现允许过滤器组件由DataTable列直接创建。存在用于无线电选择和文本框的实现。
就个人而言,我远离FilterToolbar,因为它会强制整个表格包含在表格中。这个表面加上ajax过滤“当你输入”意味着浏览器不断地重新绘制过滤器表单组件和表,导致输入丢失,这是非常烦人的。
FilterToolbar的一个有趣的方面是它包含一些javascript,可以在没有ajax的情况下提交过滤器表单时将焦点恢复到正确的表单组件(不确定是否使用ajax)。