-1
我有一個由BeanItemContainer支持的網格。有沒有添加列的方法?我無法找到一種方式,因爲它給了我很多錯誤。我最終手動添加行到網格。我嘗試添加生成的屬性或普通的屬性,沒有運氣。Vaadin網格支持bean item容器添加列
public final class ExecutionGrid extends Grid {
public ExecutionGrid(String caption) {
super(caption);
}
public ExecutionGrid(String caption, List<Step> steps) {
super(caption);
setSteps(steps);
}
/**
* Add steps to this grid.
*
* @param steps Steps to set. It deletes any previous ones stored.
*/
public void setSteps(List<Step> steps) {
//Clear grid
removeAllColumns();
setHeightByRows(steps.size());
setHeightMode(HeightMode.ROW);
Grid.Column textColumn = addColumn("text", byte[].class);
textColumn.setHeaderCaption("Text");
textColumn.setConverter(new ByteToStringConverter());
Grid.Column expectedResultColumn = addColumn("expectedResult", byte[].class);
expectedResultColumn.setHeaderCaption("Expected Result");
expectedResultColumn.setConverter(new ByteToStringConverter());
Grid.Column notesColumn = addColumn("notes", String.class);
notesColumn.setHeaderCaption("Notes");
Grid.Column resultColumn = addColumn("result", String.class);
resultColumn.setHeaderCaption("Result");
steps.forEach((s) -> {
addRow(s.getText(), s.getExpectedResult(), s.getNotes(), "");
});
}
}
不知道我是否錯過了一些東西。
我想這是勝過目的。在表格中,我可以添加在bean上不存在的自定義列。 – javydreamercsw