2011-10-28 61 views
1

我使用Wicket 1.4 DataTable并如Apache Wicket Cookbook中所述手动进行筛选。它也可在免费提供的样本章节中找到:https://www.packtpub.com/sites/default/files/1605OS-Chapter-5-Displaying-Data-Using-DataTable.pdfApache Wicket - 使用FilterToolbar进行DataTable筛选与手动筛选

但是我在Wicket API中发现了FilterToolbar。现在在互联网上,人们说Wicket Phonebook on Wicketstuff就是一个例子,但它不起作用。

与Wicket Cookbook中介绍的手动过滤相比,使用DataTable和FilterToolbar的优点是什么?什么是FilterToolbar自动执行?我尤其是这句话对FilterToolbar在检票API文档好奇:由实现 IFilteredColumn列配置

表单组件。

示例代码或工作截图或偶数页赞赏:)

回答

3

我能没有问题本地运行的电话本应用程序。从https://github.com/wicketstuff/core/tree/master/jdk-1.5-parent/phonebook下载并使用mvn jetty:run运行。

IFilteredColumn的实现允许过滤器组件直接由DataTable列创建。存在无线电选择和文本框的实现。

就我个人而言,我远离FilterToolbar,因为它会强制将整个表格包含在表单中。这个表面与“键入”时的ajax过滤相结合意味着浏览器不断重绘滤镜表单组件和表格,导致输入丢失,这非常烦人。

FilterToolbar的一个有趣的方面是,它包含一些JavaScript来恢复焦点到正确的表单组件,当过滤器表单提交时没有ajax(不确定与ajax)。

+0

我同意,许多方便的代码解决方案性能差。顺便说一句你有没有找到正确实施的检票口解决方案? (正确的意义非常大的表,理论上应该将过滤器状态转换为提供者等) –