2013-04-11 49 views
3

在我的項目我使用JSF 2.0和3.5 Primefaces。JSF/DataTable中Primefaces selectBooleanCheckbox組件總是選中

在一頁中,我有一個p:dataTable和表中的一列有selectBooleanCheckbox。我嘗試了p:selectBooleanCheckboxh:selectBooleanCheckbox。我的代碼類似如下:

<h:panelGrid columns="3"> 
      <p:selectBooleanCheckbox id="id" value="false" /> 
      <p:selectBooleanCheckbox id="id" value="true" /> 
      <p:dataTable id="tbl" value="#{bean.items}" var="item" paginator="false"> 
       <p:column> 
        <h:outputText value="#{item.value}" /> 
       </p:column> 
       <p:column> 
        <h:outputText value="#{item.value}" /> 
       </p:column> 
       <p:column style="white-space:normal; text-align: center;"> 
        <p:selectBooleanCheckbox id="id" value="#{item.checked}" /> 
        <p:selectBooleanCheckbox id="id" value="true" /> 
        <p:selectBooleanCheckbox id="id" value="false" /> 
        <h:selectBooleanCheckbox id="id" value="true" /> 
        <h:selectBooleanCheckbox id="id" value="false" /> 
       </p:column> 
      </p:dataTable> 
     </h:panelGrid> 

而結果:

primefaces jsf selectBooleanCheckbox

我想表明selectBooleanCheckbox正確的情況下。有什麼建議麼?

+1

雖然navand的答案是正確的,滿足您的需求,我不明白爲什麼你還沒有了'selectBooleanCheckbox'的值綁定到您的'#的屬性{}項目'變種。 – 2013-04-11 17:13:17

+0

我發現我的錯誤。在上面的代碼(示例代碼段)我用'值=「#{item.checked}」'但在我的實際代碼我用'值=「item.checked」'。現在我正在使用'value =「#{item.checked}」'並且它正在工作。 – OguzOzkeroglu 2013-04-13 11:00:28

回答

1

你似乎不支持bean被鏈接的複選框爲任意值。嘗試將值存儲在您的支持bean中並讓它反映在您的複選框中。例如,

輔助Bean:

private Boolean value1 = true; 
private Boolean value2 = false; 

//appropriate getters and setters for the above values 

JSF頁面片段:

<p:selectBooleanCheckbox value="#{backingbean.value1}" itemLabel="Value 1"/> 
<p:selectBooleanCheckbox value="#{backingbean.value2}" itemLabel="Value 2"/> 

這應該導致第一複選框被選中(因爲值1 =真)和第二不應該作爲value2 = false。以這種方式,只要你點擊一個複選框,它的值也將分別反映在value1和value2中。

。希望幫助...

此外,@navand是說,如果你想手動設置要檢查或不此複選框,使用#{TRUE}和{#}虛假正確。

4

您應該使用#{true}#{false}代替truefalse
這樣的:

<p:selectBooleanCheckbox id="id" value="#{true}" /> 
+0

我工作時,我使用此:''數據表以外? – OguzOzkeroglu 2013-04-11 16:49:55

+0

但它的作品,謝謝你.. – OguzOzkeroglu 2013-04-11 16:53:41

+0

對不起,我不知道爲什麼,當我發現它,對你說。 – navand 2013-04-11 17:00:40