Vaadin Grid Util:如何使用动态容器创建不同的表?

时间:2015-10-22 08:19:57

标签: grid containers vaadin

我的数据库中有不同类型的表(~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);
    }                     

由于

0 个答案:

没有答案