2011-01-26 15 views
3

我有一個數據表,每列有兩個圖像,一個是顯示的,還有一個是不是的隱藏圖像。如果一個屬性#{pe​​rson.isLocked}結果集被設置爲'T',這個想法就是在另一個圖像頂部放置隱藏的圖像。我的代碼有一個div,在該div中有兩個div,一個用於主圖像,一個用於覆蓋圖像。 (下面的代碼)要覆蓋的圖像具有style屬性display:none; 。我需要以某種方式檢查#{person.isLocked}是否等於'T',如果是這樣,那麼我需要將css改爲display:block;別離開它。Primefaces條件邏輯<p:dataGrid>

<p:dataGrid var="person" value="myBean.people"> 
    <p:column> 
     <h:panelGird style="margin-left:auto; margin-right:auto;"> 
      <div> 
       <div style="position:absolute; z-index:1;"> 
        <p:graphicImage value="image?id=#{person.id}" cache="false"/> 
       </div> 
       <div style="position:absolute; z-index:100; display: none;"> 
        <p:graphicImage value="./images/lock.png" cache="true"/> 
       </div> 
      </div> 
     </h:panelGrad> 
    </p:column> 
</p:dataGrid> 

唯一的解決辦法我已經想出是而不是存儲在數據庫中作爲#{person.isLocked}「T」或「F」,存儲的CSS屬性代替,所以將存儲「塊」或'none',然後像這樣調用樣式中的person屬性。

 <div style="position:absolute: z-index:100; display: #{person.isLocked}"> 
     <p:graphicImage value="./images/lock.png" cache="true"/> 
    </div> 

雖然這看起來很糟糕。我不想操縱數據庫中的數據僅用於顯示目的。有沒有人找到一個不同的方式來做到這一點?

回答

4

我從來沒有用過Primefaces,但你可以嘗試

<ui:fragment rendered="#{person.isLocked}"> 
<!-- your div here --> 
</ui fragment> 
+0

啊非常好,那工作只是它不是我用 medium 2011-01-26 18:36:20