在正常情况下,即使没有大量数据或分页,如何使用多个列对ZK列表框进行排序?
按第一列排序,按第二列排序,依此类推。
除非你再次点击它,否则如何保持标题标题上的排序图标完好无损?
我有一个ZK版本7.0.3供参考。
答案 0 :(得分:2)
使用MVVM并在视图模型中进行实际排序。在视图模型中有一个自定义比较器sorts on multiple fields。您的可排序列表框列表标题看起来像这样:
<listheader label="Name" sort="auto(each.name)" onSort="@command('nameSort', asc=event.isAscending())" />
并在您的视图模型中:
@Command
@NotifyChange("names")
public void nameSort(@BindingParam("asc") final boolean isAscending) {
// modify your custom comparator
}
顺便说一句,如果你没有大数据并且没有使用分页,你真的需要对多个字段进行排序吗?
答案 1 :(得分:1)
它甚至可以更容易,因为自动排序也支持多个字段。
sort="auto(lastName, firstName)"
像这样,标题图标不需要额外的代码。