Tag: vaadin grid

Vaadin网格 – 使用延迟加载进行过滤

我有vaadin网格,它很好,它从框中加载了懒惰的数据。 但由于某些原因,我有自定义filter,我通过它使用 CallbackDataProvider dataProvider.fetch(Query query) 查询对象具有按部分加载的参数( offset和limit ),因此我需要动态设置它(?)并以某种方式监听网格滚动事件以在用户向下滚动时加载下一部分数据(?) Grid.dataComunicator具有字段Range pushRows但没有公共方法来获取它。 我所拥有的只是延迟加载的网格,没有过滤数据或带有过滤数据的急切加载网格。 那么,有没有办法在vaadin网格元素中实现延迟加载的过滤数据?

基于内容的Vaadin 10网格样式个别行

我正在使用Vaadin网格显示传入信息并实时更新。 我已经能够通过访问DOM来设置所有行的样式,如下所示: [part=”row”] { height: 27px; font-size: 14px; max-height: 27px; } 我想要做的是根据行数据的内容为特定行设置特定样式。 基本上我有一列布尔值,如果它是真的,我希望行有一个绿色背景,如果它是假的,我希望该行有一个红色背景。 现在确定我将如何在我的Java代码或我的shared-styles.html执行此shared-styles.html 。 非常感谢! 我已经看到这个示例用于基于条件以编程方式设置列,但不是行。 Grid grid = new Grid(); grid.setItems(people); grid.addColumn(new ComponentRenderer(person -> { if (person.getGender() == Gender.MALE) { return new Icon(VaadinIcons.MALE); } else { return new Icon(VaadinIcons.FEMALE); } })).setHeader(“Gender”);

如何在Vaadin网格中只编辑一些列?

Vaadin Grid允许定义为可编辑 grid.setEditorEnabled(true); 这使得所有可见列都可编辑。 但是,我不希望用户编辑特定列,但似乎可编辑是全部或全部。 我找到的下一个最佳解决方案是使用禁用的编辑器定义编辑器字段,这几乎可以解决问题,但用户仍然可以选择文本并移动光标(但该字段不再可编辑)。 Grid.Column nameColumn = grid.getColumn(“fullName”); nameColumn.setHeaderCaption(“Full Name”); nameColumn.setEditorField(getNoEditableTextField()); … private Field getNoEditableTextField() { TextField noEditableTextFiled = new TextField(); noEditableTextFiled.setEnabled(false); return noEditableTextFiled; } 我相信Label不能用,因为它不是Field。 有没有更好的选择来实现这一目标? 编辑:正如aakath所说,有一种方法可以实现这一点,不能编辑列,但这样做时,单元格值会在编辑行时消失,这是不可取的。

Vaadin Grid vs Table

Vaadin 7中的Grid和Table组件有什么区别? 我应该使用哪种,何时使用?