gpt4 book ai didi

sorting - Tapestry 网格默认排序

转载 作者:行者123 更新时间:2023-12-05 01:07:09 24 4
gpt4 key购买 nike

我想指定挂毯网格的默认排序列。

我知道我可以在服务器端的 getter 中对记录进行排序,但这似乎是不必要的努力,因为网格完全能够自行排序。

所以我的网格定义看起来像:

<t:grid source="queues" inPlace="true"> </t:grid>

getQueues 返回对象的集合,例如:

public class Queue {
public String getName();
public float getOccupancy();
}

默认情况下,我想让网格按“占用”属性按降序排序。

从我看到的 Tapestry 文档中,该 Grid 具有属性 sortModel 这似乎是正确的选择。但是,我找不到关于将其设置为正确值的良好解释。

最佳答案

您可能会编写一个 mixin 来设置初始排序

@MixinAfter
public class DefaultSort {
public enum Order { ASCENDING, DESCENDING };

@Parameter(required=true, defaultPrefix="literal")
private String sort;

@Parameter(defaultPrefix="literal", value="literal:ascending")
private Order order;

@InjectContainer
private Grid grid;

@SetupRender
void setupRender() {
GridSortModel sortModel = grid.getSortModel();
if (sortModel.getSortConstraints().isEmpty()) {
sortModel.updateSort(sort);
if (order == Order.DESCENDING) {
// updateSort a second time for DESCENDING
sortModel.updateSort(sort);
}
}
}
}

<t:grid source="queues" inPlace="true" t:mixins="defaultsort" sort="occupancy" />

关于sorting - Tapestry 网格默认排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18959365/

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