gpt4 book ai didi

css - 使用 setCellStyleGenerator 时表 propertyId 值为 null

转载 作者:太空宇宙 更新时间:2023-11-04 16:22:57 25 4
gpt4 key购买 nike

我是 Vaadin 的新手,但有一些 Java Swing 经验。

我正在尝试使用 table.setCellStyleGenerator 设置列标题为“名称”的特定单元格的颜色。

我正在研究 vaadin 书中的一个例子:

Table table = new Table("Table with Cell Styles");
table.addStyleName("checkerboard");

table.addContainerProperty("0",String.class,null,"Name", null, null);
table.addContainerProperty("1",String.class,null,"Surname", null, null);
table.addContainerProperty("2",Date.class,null,"Date.", null, null);
table.addContainerProperty("3",Integer.class,null,"Required.", null, null);
table.addContainerProperty("4",Integer.class,null,"Complete", null, null);


table.addContainerProperty("5",String.class,null,"Cakes", null, null);
table.addContainerProperty("6",Integer.class,null,"Cake Quantity", null, null);
table.addContainerProperty("7",String.class,null,"Status", null, null);
table.addContainerProperty("8",TextField.class,null,"Notes", null, null);

我已经按如下方式填充了我的表:

/* Add a few items in the table. */
table.addItem(new Object[] {
"Nicolaus","Copernicus",new Date("21/05/2011"), new Integer(1473), new Integer(1), "Cake", new Integer(1473), "cakestatus", commentsField }, new Integer(3));

我可以与我的样式表进行通信,但是当我尝试以下操作时:

table.setCellStyleGenerator(new Table.CellStyleGenerator() {
public String getStyle(Object itemId, Object propertyId) {
int row = ((Integer)itemId).intValue();
int col = Integer.parseInt((String)propertyId);


System.out.println("COL:"+ col);
// The first column.
if (col == 0)
return "rowheader";
....

[b]PropertyId [/b]显示为空。

Tomcat 会输出以下内容:

SEVERE: Terminal error:
java.lang.NumberFormatException: null
at java.lang.Integer.parseInt(Unknown Source)

我很确定我犯了一些初学者错误。

顺便说一句,我的 styles.css 访问如下:

mainWindow.setTheme("colouredCells");

/* Create the table with a caption. */
Table table = new Table("Table with Cell Styles");
table.addStyleName("checkerboard");

CSS 包含以下内容:

@import url(../colouredCells/styles.css);
/* Using the old default theme (runo) as the basis for now */





/* Center the text in header. */
.v-table-header-cell {
text-align: center;
}

/* Basic style for all cells. */
.v-table-checkerboard .v-table-cell-content {
text-align: center;
vertical-align: middle;
padding-top: 12px;
width: 20px;
height: 28px;
}

/* Style specifically for the row header cells. */
.v-table-cell-content-rowheader {
background: #E7EDF3
url(../default/table/img/header-bg.png) repeat-x scroll 0 0;
}

/* Style specifically for the "white" cells. */
.v-table-cell-content-white {
background: white;
color: black;
}

/* Style specifically for the "black" cells. */
.v-table-cell-content-black {
background: #60497b;
color: white;
}

最佳答案

CellStyleGenerator 的 javadoc 中解释了 propertyId 为 null 的原因:还调用了单元格样式生成器以选择性地为每一行设置样式,在这种情况下,propertyId 为 null。如果 propertyId 为 null,您可能只想简单地返回 null。

关于css - 使用 setCellStyleGenerator 时表 propertyId 值为 null,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6192431/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com