Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/wix/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Vaadin 更改表的列标题_Vaadin - Fatal编程技术网

Vaadin 更改表的列标题

Vaadin 更改表的列标题,vaadin,Vaadin,我正在尝试了解有关sqlcontainer的更多信息,并且能够使用sql server中的数据创建一个只读表。我使用了freeformquery,如“从表1中选择*”。现在我尝试更改表的列标题。我所做的是使用freeformquery设置sqlcontainer,并将表的数据源设置为该sqlcontainer 我从api中看到有一个setColumnHeader方法,它接受propertyId和字符串。如何获取第一列或第二列的propertyid?在本例中,表propertyid是数据库中的列名

我正在尝试了解有关sqlcontainer的更多信息,并且能够使用sql server中的数据创建一个只读表。我使用了freeformquery,如“从表1中选择*”。现在我尝试更改表的列标题。我所做的是使用freeformquery设置sqlcontainer,并将表的数据源设置为该sqlcontainer


我从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");