java - 如何在 Vaadin 网格中仅使某些列可编辑?

标签 java vaadin vaadin7 vaadin-grid

Vaadin 网格允许定义为可编辑

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 所说,有一种方法可以实现此目的,但不能编辑列,但这样做时,单元格值会在您编辑行时消失,这是不可取的。

最佳答案

您是否尝试在列上调用 setEditable(false) 方法?我相信当项目编辑器处于 Activity 状态时,它应该使该字段不可编辑。

grid.getColumn("fullName").setEditable(false);

关于java - 如何在 Vaadin 网格中仅使某些列可编辑?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30887082/

相关文章:

java - 列出 Hibernate 配置参数

java - 将类(class)显示给另一个类(class)

java - 定制安装程序建议

java - 求数组中奇数的总和

java - 在 Vaadin 中加载 tif 图像

java - 安装 Vaadin 后出现 NoClassDefFoundError

java - 线之间的超链接

vaadin - 上传时不带上传按钮和浏览按钮

java - Vaadin 将类(class)附加到页面?

java - 更改 Vaadin 7 应用程序的根上下文