2009-06-18 75 views
0

我有兩個SelectOneMenu行中的表。我需要在第二個菜單中填充數據,具體取決於首先選擇的數據。我需要繞過驗證階段,因爲。我動態地向表格添加行。如何繞過dataTable中的驗證? JSF

+-- Table ---------------------------------------------------+ 
|       |        | 
| Field 1: |____________|v| | Field 2.1: |____________|v| | 
+---------------------------+--------------------------------+ 
| Field 1: |____________|v| | Field 2.2: |____________|v| | 
|       |        | 
+------------------------------------------------------------+ 

有我的代碼:

    <h:selectOneMenu value="#{rowItem.selectedItem1}" immediate="true" valueChangeListener="#{rowItem.processValueChange}" 
            onchange="submit()"> 
         <f:selectItems value="#{rowItem.selectItems1}" /> 
        </h:selectOneMenu> 
       </h:column> 
       <h:column> 
        <h:selectOneMenu value="#{rowItem.selectedItem1}" > 
         <f:selectItems value="#{rowItem.seriesItems2}" /> 
        </h:selectOneMenu> 

       ..... some more elements 
      </h:dataTable> 

在我的表支持bean我有

private ArrayList<RowItem> rowItems; 

我想在我的課使用processValueChange()表示RowItem但我可以't,因爲我不能在我的RowItem類中綁定SelectOneMenu。

+0

的是,在第二列一個錯字? selectOneMenu的值應該是#{rowItem.selectedItem2}嗎? – Damo 2009-06-18 12:41:15

回答

1

爲什麼rowItem bean中的所有邏輯都是?

你能夠使用Richfaces框架嗎?

如果是你,那麼你就可以做一些事情大致是這樣的:

<h:selectOneMenu value="#{rowItem.selectedItem1}"> 
    <f:selectItems value="#{rowItem.selectItems1}" /> 
    <a4j:support event="onchange" ajaxSingle="true" action="#{helperBean.loadSeriesItems2}" reRender="areaToRender"/> 
</h:selectOneMenu> 
+0

謝謝,我認爲現在是時候使用richfaces了:)。可能是你可以推薦一些簡單的教程開始。 – aindl 2009-06-18 15:21:23