我使用带有嵌套属性的Vaadin网格,例如order.createdat
。我想用.setsortproperty(“order.createdat”)
对这些列进行排序,因为createdat
是一个LocalDateTime,它总是可比的
。但这行不通。我需要为每个这样的列定义一个比较器
,我已经使用了很多:-)
grid.addColumn(new LocalDateTimeRenderer<>(dto ->
dto.getOrder().getCreatedAt(), DateTimeFormatter.ofLocalizedDate(FormatStyle.SHORT)))
.setAutoWidth(true)
.setFlexGrow(0)
.setHeader("Order data")
//.setSortProperty("order.createdAt") <-- doesn't work
.setComparator((val1, val2) -> val1.getOrder().getCreatedAt().compareTo(val2.getOrder().getCreatedAt()))
.setSortable(true);
这是一个bug还是故意的?
亲切地问候
张秀坤
是故意的。由于当前定义了该特性,比较器用于内存中的排序,在使用后端DataProvider时应用sortProperty。
但是,可以使用setcomparator
变量,该变量接受valueProvider
使代码稍微短一些:setcomparator(dto->dto.getOrder().getcreatedat())
。此外,通过setcomparator
将列标记为可排序,因此不需要单独执行setsortable(true)
。
我已经将BigDecimal属性的列添加到网格中,并希望对此类列进行排序可以开箱即用: 添加:如果不使用NumberRenderer并以正常方式添加列,那么setSortedProperty将按预期工作:
我正在尝试按地理距离对具有嵌套地理点映射的索引进行排序。 这是我的简化映射: 这里,每个组织可以有几个地点点。 文档: 这是我的查询(PHP数组): 预期结果 : 我希望按geo_point排序资源(检查每个位置,然后检查某个位置是否靠近给定的纬度/经度)
我有一个使用Spring Boot 1.5.1和Spring Data Rest的数据库服务。我将我的实体存储在MySQL数据库中,并使用Spring的PagingAndSorting Repository通过REST访问它们。我发现这表明支持按嵌套参数排序,但我找不到按嵌套字段排序的方法。 我有以下课程: 例如,当使用该方法时: 并调用 URI http://localhost:8080/peo
考虑: 如果我们序列化Foo(),输出是: 我想要: 最干净的方法是什么?
问题内容: 我想要一个连接到服务器URL的dojo网格,该URL输出以下json:{identifier:“ id” items:[{id:“ 1”,name:“ John”,大学:{name:“ XXX “,地址:” YYY“}}]。 基本上我有一个嵌套的json。我想将大学名称和大学地址表示为网格中的单独列。 我尝试使用dojox.grid.DataGrid对象并创建网格布局,但不知道如何引用
问题内容: swift没有嵌套类吗? 例如,我似乎无法从嵌套类访问主类的属性测试。 问题答案: Swift的嵌套类与Java的嵌套类不同。好吧,它们就像是Java的一种嵌套类,而不是您正在考虑的那种。 在Java中,内部类的实例会自动引用外部类的实例(除非声明了内部类)。如果您有外部类的实例,则只能创建内部类的实例。这就是在Java中您说类似的原因。 在Swift中,内部类的实例独立于外部类的任何