2009-06-18 76 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