Vaadin 更改表的列标题
我正在尝试了解有关sqlcontainer的更多信息,并且能够使用sql server中的数据创建一个只读表。我使用了freeformquery,如“从表1中选择*”。现在我尝试更改表的列标题。我所做的是使用freeformquery设置sqlcontainer,并将表的数据源设置为该sqlcontainerVaadin 更改表的列标题,vaadin,Vaadin,我正在尝试了解有关sqlcontainer的更多信息,并且能够使用sql server中的数据创建一个只读表。我使用了freeformquery,如“从表1中选择*”。现在我尝试更改表的列标题。我所做的是使用freeformquery设置sqlcontainer,并将表的数据源设置为该sqlcontainer 我从api中看到有一个setColumnHeader方法,它接受propertyId和字符串。如何获取第一列或第二列的propertyid?在本例中,表propertyid是数据库中的列名
我从api中看到有一个setColumnHeader方法,它接受propertyId和字符串。如何获取第一列或第二列的propertyid?在本例中,表propertyid是数据库中的列名。您可以使用table.getContainerPropertyId()方法获取表PropertyId 给定包含两列“id”和“name”的数据库表,您可以使用以下代码将“id”标题更改为“Santa ClausID”(您不必迭代,我只是想说明如何获取PropertyID):
Collection columnIds=table.getContainerPropertyId();
用于(对象属性ID:ColumnID)
{
if(propertyId.equals(“id”))
{
表.setColumnHeader(propertyId,“圣诞老人Id”);
}
}
是您正在寻找的:propertyId实际上是容器中字段的名称。所以如果你有
SELECT id, name FROM person
你能行
table.setColumnHeader("id", "Table key");
table.setColumnHeader("Name", "Person's name");
不幸的是,没有直接的位置设置,但是如果需要,您可以执行以下操作
List<Object> ids = Arrays.asList(categorieTable.getItemIds().toArray());
categorieTable.setColumnHeader(ids.get(0), "Table key");
categorieTable.setColumnHeader(ids.get(1), "Person's name");
List id=Arrays.asList(categorieTable.getItemId().toArray());
setColumnHeader(id.get(0),“表键”);
categorieTable.setColumnHeader(id.get(1),“人名”);
应该是sql表中字段的名称(区分大小写)。您的代码示例等于table.setColumnHeader(“id”、“圣诞老人id”);
table.setColumnHeader("id", "Table key");
table.setColumnHeader("Name", "Person's name");
List<Object> ids = Arrays.asList(categorieTable.getItemIds().toArray());
categorieTable.setColumnHeader(ids.get(0), "Table key");
categorieTable.setColumnHeader(ids.get(1), "Person's name");