2014-08-28 22 views
8

Bu hücrede bulunan belirli bir dize değerine bağlı olarak belirli hücreleri renklendirmeye çalıştığım temel bir örneğim var. Ben baskı ifadeleri koymak ve geri dönüş "yeşil", "turuncu", vs ... puan dönmek, ama çalışma zamanında sadece gri ve beyaz sıralı renkler, benim belirli hücre renkleri hiçbiri alıyorum . Kullanıyorum css doğrudan doğruya bir kitaptan çektim, bu basit olacağını düşündüm. Belkide eksik olan bir şey var.Vaadin - İçeriği temel alan boyama tablo hücreleri

Hücre stili jeneratör kodu:

  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; 
} 

Aslında tarayıcıda oluşturulmamış ne bakmak, bu hücre göründüğünü gibi:

<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> 

cevap

3

Yukarıdaki kod aslında css'yi doğru css dosyasına yerleştirirseniz çalışır. Stillerimi tahmin ettiğim gibi styles.css 'e karşı myproject.scss' e eklemek istedim.

+0

myproject.scss ayrıca, yapı döngüsünüzü bir css'ye derlediğinde ve doğru temayı belirttiğinizde ve –

+0

numaralı projeyi de içermelidir, projenin gerçekleşmemesine neden olan şeyin yanlış olduğundan emin olmam gerektiğini düşündüm. Vaadin sürümünüze bağlı olarak –

+0

, css kodunu temanızın table.scss dosyasına eklemeyi deneyebilirsiniz. –