Vaadin - Färbung Tabelle-Zellen basierend auf dem Inhalt

Habe ich ein sehr einfaches Beispiel hier, wo ich versuche, die Farbe bestimmter Zellen, die basierend auf einem bestimmten string-Wert vorhanden in Zelle. Ich habe in print-Anweisungen, und ich bin der return - "grün" zurück "orange", etc... Punkte, aber im Lauf der Zeit bin ich nur immer das grauen und weißen abwechselnde Reihe von Farben, keine von mir bestimmten Zelle Farben. Die css, die ich verwende ich zog direkt aus book of vaadin, dachte, das wäre einfach. Vielleicht gibt es etwas kleines fehlt mir.

Zelle Stil-generator-code:

            table.setCellStyleGenerator(new Table.CellStyleGenerator() {                
            @Override
            public String getStyle(Table source, Object itemId, Object propertyId) {
                if(propertyId != null ) {
                    Item item = source.getItem(itemId);
                    if(item.getItemProperty(propertyId).getValue().getClass() == String.class) {
                        String cellValue = (String)item.getItemProperty(propertyId).getValue();
                        if( cellValue.equals("AA") ) {
                            return "green";
                        } else if( cellValue.equals("BB") ) {
                            return "orange";
                        } else if( cellValue.equals("AB") ) {
                            return "yellow";
                        } else {
                            return "white";
                        }
                    } else {
                        return "white";
                    }
                } else {
                    return null;
                }
            }
          });

CSS:

    .v-table-cell-content-green {
    background: #33BB00;
}

.v-table-cell-content-orange {
    background: #FCB724;
}

.v-table-cell-content-yellow {
    background: #FFFF00;
}

.v-table-cell-content-white {
    background: #FFFFFF;
}

Wenn ich mir anschaue, was tatsächlich im browser gerendert, dies ist, wie eine Zelle aussieht:

<td class="v-table-cell-content v-table-cell-content-green" style="width: 59px;"><div class="v-table-cell-wrapper" style="text-align: left; width: 59px;">AA</div></td>
InformationsquelleAutor Tom Swifty | 2014-08-28
Schreibe einen Kommentar