【问题标题】:Removing header Row VAADIN 7.8.4删除标题行 VAADIN 7.8.4
【发布时间】:2018-01-07 09:20:02
【问题描述】:
我需要这方面的帮助。
这是我的代码,用于将单元格(列)连接在一起。但我需要一些我可以用来删除这个“加入”的东西。例如。当我点击按钮时,我想要“合并”单元格,当我点击另一个按钮时,我想要“取消合并”单元格。
HeaderRow row = grid.prependHeaderRow();
row.join("Black","White").setText("Something");
【问题讨论】:
标签:
java
join
merge
frameworks
vaadin
【解决方案1】:
注意: Again,您从哪里获得 vaadin 7.8.4?我能看到的最新的 7.x release 是 7.7.10。对于这个练习,我假设这是一个错字并使用 7.7.4...
AFAIK 无法从标题中取消合并两个单元格。但是,您可以通过删除前一个标题并添加一个新标题来解决此问题。您可以在下面找到一个可以帮助您入门的简单实现:
public class GridWithUnmergedColumnHeaders extends VerticalLayout {
private static final int INDEX_OF_HEADER = 1;
private boolean shouldMerge = false;
public GridWithUnmergedColumnHeaders() {
// basic grid setup
Grid grid = new Grid();
IndexedContainer container = new IndexedContainer();
grid.setContainerDataSource(container);
container.addContainerProperty("name", String.class, "");
container.addContainerProperty("surname", String.class, "");
container.addContainerProperty("age", Integer.class, 0);
grid.addRow("Some", "One", 20);
grid.addRow("Someone", "Else", 50);
grid.addHeaderRowAt(INDEX_OF_HEADER).join("name", "surname").setText("Whatever");
// button to toggle properties
Button button = new Button("Toggle header merging", event -> {
if (shouldMerge) {
grid.removeHeaderRow(INDEX_OF_HEADER);
grid.addHeaderRowAt(INDEX_OF_HEADER).join("name", "surname").setText("Whatever");
} else {
grid.removeHeaderRow(INDEX_OF_HEADER);
Grid.HeaderRow headerRow = grid.addHeaderRowAt(INDEX_OF_HEADER);
headerRow.getCell("name").setText("What");
headerRow.getCell("surname").setText("Ever");
}
shouldMerge = !shouldMerge;
});
addComponents(grid, button);
}
}
结果: