[英]Wicket custom filter without dropdown table
我想为我的DataTable创建一个自定义过滤器。 我想创建一个按钮,当单击它时,它会更改表的数据。 我知道wicket必须提供的ChoiceFilteredPropertyColumn,但根据我的理解,这是一个下拉过滤器。
我想尝试实现类似下面的图片(Pancakes是可点击的按钮):
有人能指出我正确的方向吗?
那么...... ChoiceFilteredPropertyColumn的超类是FilteredPropertyColumn ,它可以解决这个问题。 否则,您可以始终实现自己的Column,以您喜欢的方式实现IFilteredColumn 。
看看这里实现的`DataTable'是如何实现的: http : //www.packtpub.com/sites/default/files/1605OS-第5章 - 显示在线 - 使用voluTable.pdf
然后,您可以按需要实现下拉按钮过滤器,并使用所选值DataTable
过滤。
我通过创建自定义过滤器(只是带有一些标记的面板)解决了这个问题,并将其返回到自定义FilteredPropertyColumn的getFilter方法中。
FilteredPropertyColumn: http : //wicket.apache.org/apidocs/1.4/org/apache/wicket/extensions/markup/html/repeater/data/table/filter/FilteredPropertyColumn.html
getFilter方法: http ://wicket.apache.org/apidocs/1.4/org/apache/wicket/extensions/markup/html/repeater/data/table/filter/IFilteredColumn.html#getFilter%28java.lang.String,% 20org.apache.wicket.extensions.markup.html.repeater.data.table.filter.FilterForm 29%
ButtonFilter类:
public class ButtonFilter extends Panel {
...
}
在自定义FilteredPropertyColumn类中:
@Override
public Component getFilter(String componentId, FilterForm<?> form) {
return new ButtonFilter<Y>(componentId, getFilterModel(form), filterChoices);
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.