Vaadin 中的 FilterTable 和 SQLcontainer
FilterTable and SQLcontainer in Vaadin
我在 Vaadin 中创建了简单的 FilterTable
:
private static final String COL1_PROP = "date";
private static final String COL2_PROP = "name";
private static final String COL3_PROP = "status";
//............
final FilterTable fooTable= new FilterTable();
fooTable.setImmediate(true);
fooTable.setSelectable(true);
fooTable.setWidth("100.0%");
fooTable.setHeight("100.0%");
fooTable.setColumnHeader(COL1_PROP, "Date");
fooTable.setColumnHeader(COL2_PROP, "Name");
fooTable.setColumnHeader(COL3_PROP, "Status");
fooTable.setFilterBarVisible(true); //show filters
fooTable.setFilterFieldVisible(COL1_PROP, false); //hide col1_prop column filter
fooTable.setColumnCollapsingAllowed(true); // allow collapsing
fooTable.setColumnCollapsed(COL3_PROP, true); // collapse col3_prop column
fooTable.setContainerDataSource(container);
fooTable.setColumnExpandRatio(COL1_PROP, 1.0f);
fooTable.setColumnExpandRatio(COL2_PROP, 2.0f);
我的容器是 SQLConterner
,查询如下:
SELECT date, name, status FROM foo
我得到的数据没有问题,但是,我想完全隐藏 Status
列。更重要的是我想隐藏一个 Date
列过滤器。正如我想的那样,带有注释的行会做这些事情。然而他们不是。我在 table 中获得了完整的 3 列,并且所有这些列都可以使用过滤器。
怎么了?
将注释行移到 set Container DataSource 类下方。
我在 Vaadin 中创建了简单的 FilterTable
:
private static final String COL1_PROP = "date";
private static final String COL2_PROP = "name";
private static final String COL3_PROP = "status";
//............
final FilterTable fooTable= new FilterTable();
fooTable.setImmediate(true);
fooTable.setSelectable(true);
fooTable.setWidth("100.0%");
fooTable.setHeight("100.0%");
fooTable.setColumnHeader(COL1_PROP, "Date");
fooTable.setColumnHeader(COL2_PROP, "Name");
fooTable.setColumnHeader(COL3_PROP, "Status");
fooTable.setFilterBarVisible(true); //show filters
fooTable.setFilterFieldVisible(COL1_PROP, false); //hide col1_prop column filter
fooTable.setColumnCollapsingAllowed(true); // allow collapsing
fooTable.setColumnCollapsed(COL3_PROP, true); // collapse col3_prop column
fooTable.setContainerDataSource(container);
fooTable.setColumnExpandRatio(COL1_PROP, 1.0f);
fooTable.setColumnExpandRatio(COL2_PROP, 2.0f);
我的容器是 SQLConterner
,查询如下:
SELECT date, name, status FROM foo
我得到的数据没有问题,但是,我想完全隐藏 Status
列。更重要的是我想隐藏一个 Date
列过滤器。正如我想的那样,带有注释的行会做这些事情。然而他们不是。我在 table 中获得了完整的 3 列,并且所有这些列都可以使用过滤器。
怎么了?
将注释行移到 set Container DataSource 类下方。