2014-08-28 5 views
8

मेरे यहां एक बहुत ही बुनियादी उदाहरण है जहां मैं उस सेल में मौजूद विशिष्ट स्ट्रिंग मान के आधार पर विशिष्ट कोशिकाओं को रंग देने की कोशिश कर रहा हूं। मैंने प्रिंट स्टेटमेंट्स में डाल दिया है और मैं वापसी "हरा", "नारंगी", आदि ... वापस लौट रहा हूं, लेकिन रन टाइम पर मुझे केवल ग्रे और सफेद वैकल्पिक पंक्ति रंग मिल रहा है, मेरे विशिष्ट सेल रंगों में से कोई भी नहीं । मैं जिस सीएसएस का उपयोग कर रहा हूं, मैंने सीधे वाडिन की पुस्तक से खींचा, सोचा कि यह सीधा होगा। शायद कुछ छोटा है जो मुझे याद आ रही है।वाडिन - सामग्री के आधार पर रंगीन तालिका कक्ष

सेल शैली जनरेटर कोड:

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

सीएसएस:

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

जब मैं वास्तव ब्राउज़र में प्रदान की गई है को देखो, यह है कि क्या एक सेल लग रहा है जैसे:

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

उत्तर

3

वैसे उपरोक्त कोड वास्तव में काम करता है यदि आप सही सीएसएस फ़ाइल में सीएसएस डालते हैं। मैं शैलियों को जोड़ने के लिए myproject.scss में शैलियों को जोड़ने की कोशिश कर रहा था, जहां मुझे लगता है कि आपको लगता है।

+0

myproject.scss भी काम करना चाहिए, जब आपका निर्माण चक्र इसे एक सीएसएस में संकलित करता है और आपने सही विषय निर्दिष्ट किया है और इसमें –

+0

शामिल है, मैंने सोचा था कि यह सुनिश्चित करना चाहिए कि मेरे प्रोजेक्ट में क्या गलत नहीं है। –

+0

वैडिन के आपके संस्करण के आधार पर, आप अपनी थीम के फ़ाइल table.scss में सीएसएस कोड जोड़ने का प्रयास कर सकते हैं –

संबंधित मुद्दे