primefaces对话框onchange加载数据表

时间:2013-08-02 06:47:07

标签: jsf primefaces dialog datatable

我正在使用jsf,primefaces和jpa开发一个应用程序。我面临的一个问题是我在对话框窗口中使用单选按钮和数据表。我的条件是选择单选按钮,它从动作调用一个方法并检索数据列表,但我需要加载数据表中的值。但它没有加载数据表中的值

这是我的xhtml代码

<p:dialog header="RxnNo" widgetVar="dlg3" height="500" width="800">
     <p:selectOneRadio id="series" value="#{curation.series}">  
          <f:selectItem itemLabel="SGML" itemValue="1" />  
          <f:selectItem itemLabel="9000" itemValue="2" />  
          <f:selectItem itemLabel="8500" itemValue="3" />  
          <p:ajax listener="#{curation.getSeries9000}" update="seriesDataTable" />
      </p:selectOneRadio>
      <p:dataTable id="seriesDataTable" var="series" value="#{homePage.reactionsList}" widgetVar="seriesTable" scrollRows="20" scrollable="true" rowIndexVar="rowIndex">
             <p:column headerText="Id" filterBy="#{rowIndex+1}">                                    
                    <h:outputText value="#{rowIndex+1}" />
          </p:column>
       </p:dataTable> 
  </p:dialog>

这是我的java代码

public void getSeries9000() throws Exception {
        try {
            if (series.equals("2")) {
                series9000List = cationController.getAllSeries9000();
            }
        } catch (Exception ex) {
            ex.printStackTrace();
        }
    }

任何人都可以帮我解决这个问题。

1 个答案:

答案 0 :(得分:0)

试试这个:

<p:dialog header="RxnNo" widgetVar="dlg3" height="500" width="800">
<h:panelGroup id="global">
     <p:selectOneRadio id="series" value="#{curation.series}">  
          <f:selectItem itemLabel="SGML" itemValue="1" />  
          <f:selectItem itemLabel="9000" itemValue="2" />  
          <f:selectItem itemLabel="8500" itemValue="3" />  
          <p:ajax listener="#{curation.getSeries9000}" update="global" />
      </p:selectOneRadio>
      <p:dataTable id="seriesDataTable" var="series" value="#{homePage.reactionsList}" widgetVar="seriesTable" scrollRows="20" scrollable="true" rowIndexVar="rowIndex">
             <p:column headerText="Id" filterBy="#{rowIndex+1}">                                    
                    <h:outputText value="#{rowIndex+1}" />
          </p:column>
       </p:dataTable> 
</h:panelGroup>
  </p:dialog>