我的数据库中有不同类型的表(~100),我希望用户点击这些表格在网格中显示。如何使用一个容器来表示不同的表? 在下面的代码中,我使用了grid.addColumn(),grid.addRow()
public Grid genGrid(TableGrid tg) {
final Grid grid = new Grid();
grid.setSizeFull();
for(ColumnDefinition c:tg.getColumns()){
if(c.getColumnType().equals("String")){
grid.addColumn(c.getColumnName(), String.class);}
if(c.getColumnType().equals("int")){
grid.addColumn(c.getColumnName(), Integer.class);}
if(c.getColumnType().equals("date")){
grid.addColumn(c.getColumnName(), Date.class);}
if(c.getColumnType().equals("boolean")){
grid.addColumn(c.getColumnName(), Boolean.class);
}
if(c.getColumnType().equals("dictionary")){
grid.addColumn(c.getColumnName(), String.class);
}
if(c.getColumnType().equals("dictionary2")){
grid.addColumn(c.getColumnName(), Enum.class);
}
}
for(Row r:tg.getRows()){
Object[] a = new Object[r.getCells().size()];
for(int i =0; i<a.length; i++){
if (!grid.getColumns().get(i).equals("dictionary2")){
System.out.println(r.getCells().get(i).getCellValue().toString());
a[i] = r.getCells().get(i).getCellValue();
} else {
a[i] = Enum.valueOf(, name)
}
}
grid.addRow(a);
}
由于