我需要帮助。
这是我的代码,我用它来将单元格(列)连接在一起。但我需要一些我可以用来删除这个“加入”的东西。例如。当我点击按钮时,我想要“合并”单元格,当我点击另一个按钮时,我想要“取消合并”单元格。
HeaderRow row = grid.prependHeaderRow();
row.join("Black","White").setText("Something");
答案 0 :(得分: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);
}
}
结果: