特定表列

时间:2016-07-05 10:20:56

标签: java mysql listener vaadin valuechangelistener

我使用Vaadim和MySQL DB。我将我的数据库表(只有一列)可视化为一个表,我想单击表行并在单行单击时检索特定列的值。

//Database Connection Class
...
private SQLContainer catExtractionContent = null;
FreeformQuery catExtractionQuery = new FreeformQuery("Select name as HAUPTKATEGORIE from Category where cat_main is null", connectionPool);
catExtractionContent = new SQLContainer(catExtractionQuery);

//UI-Class
private Object mainCatname=null;
mainCatTable = new Table();
mainCatTable.setContainerDataSource(getDBConn().getcatExtractionContent()); //This retrieves the SQL Container from obove
mainCatTable.addListener(new ValueChangeListener() { 

        public void valueChange(ValueChangeEvent event) {
         mainCatname = event.getProperty().getValue();
         System.out.println(mainCatname);
        }
});

我的表包含类别名称。

System.out.println打印1,2,3 ...当我在浏览器中的桌面上点击第一行,第二行,第三行时。 我如何设置获取列" name" /" HAUPTKATEGORIE" ???

我整天都在尝试,但我没有成功。

1 个答案:

答案 0 :(得分:1)

您必须从containerproperty中读取列的内容。为此,您需要propertyId。在你的情况下,可以“名称”或“HAUPTKATEGORIE”。我不确定SQLContainer是如何工作的。

{
    field: "Your Field",
    title: "Your Title",
    attributes: { "colspan": 2 },
    headerAttributes: { "colspan": 2 }
}