我已经将BigDecimal属性的列添加到网格中,并希望对此类列进行排序可以开箱即用:
java prettyprint-override">grid.addColumn(new NumberRenderer<>(dto -> dto.getTotalPrice(), NumberFormat.getCurrencyInstance()))
.setAutoWidth(true)
.setFlexGrow(0)
.setHeader("Summe")
.setSortProperty("totalPrice")
.setSortable(true);
.setComparator((val1, val2) -> val1.getTotalPrice().compareTo(val2.getTotalPrice()))
添加:如果不使用NumberRenderer并以正常方式添加列,那么setSortedProperty将按预期工作:
grid.addColumn(OrderListDto::getTotalPrice, "totalPrice")
.setSortProperty("totalPrice")
如果不定义呈现器,则为该列定义的值提供程序也将用于比较内存中的值(如果为该列启用了排序)。当使用呈现器时,列不能直接访问授予呈现器的值提供程序,因此需要手动定义它。
传递给SetSortProperty
的值仅供后端数据提供程序使用,而不适用于内存中的数据。它可能仍然会给人留下工作的印象,因为setsortproperty
还会触发setsortable(true)
,当没有基于值提供程序使用呈现器时,它将工作。传递给setsortproperty
的值对内存中的数据没有任何影响,因此可以执行setsortproperty(foo“)
,结果将是相同的。
我使用带有嵌套属性的Vaadin网格,例如。我想用对这些列进行排序,因为是一个LocalDateTime,它总是。但这行不通。我需要为每个这样的列定义一个,我已经使用了很多:-) 这是一个bug还是故意的? 亲切地问候 张秀坤
问题内容: Vaadin 7中的和组件有什么区别? 我应该使用哪个,什么时候使用? 问题答案: Grid是一个功能更强大的新组件,它应该是Table的后继组件(请参阅Table已死,Grid长寿)。因此,应该没有任何必要偏爱表格而不是网格。 这是Vaadin从表格迁移到网格的一系列文章的第一篇:https : //vaadin.com/blog/-/blogs/mission-rip- table
下面的代码运行在myGridExample是一个Vaadin8网格对象的地方。 setMaximumWidth(170)似乎没有执行任何操作。但是。SetMinimumWidth(130)按预期工作。这是虫子吗?
我正在考虑这个问题的解决方案,但我不知道如何去做: 我的实体< code>StudentBook具有以下属性: 来自数据库的数据,它们看起来像: 字母字符可以用数值表示为 现在我想这样做: 将是学生的姓名 第一列将自动生成选定月份的天数(日期) “行”将具有点来自表-每个对应的日期 最后一行将类似于“总和行”,显示中每个学生的。 所以我创建了网格 方法返回 将学生的名字添加到各个< code >列
我正在使用瓦丁的表进行数据表示。为此,我试图弄清楚以下两个问题: 1.)如何禁用各列表头的排序功能 2.) 如何设置表中一列的颜色