0
<h:form>


<h:panelGrid columns="2" columnClasses="top , top">
    <rich:extendedDataTable
        value="#{contentBean.questions}" var="cap" id="table"
        selectionMode="single"
        tableState="#{contentBean.qtablestate}"
        selection="#{contentBean.s}">
        <rich:column  id="col_1">
            <f:facet name="header">
                <h:outputText value="Quistioneer" id="flag"/>
            </f:facet>
            <h:outputText value="#{cap.QUserid.fname}" id="cap_state_flag"/>
        </rich:column>
        <rich:column id="col_2" width="170px">
            <f:facet name="header">
                <h:outputText value="Question" id="state_name"/>
            </f:facet>
            <h:outputText value="#{cap.questionValue}" id="cap_state"/>
        </rich:column>
        <rich:column id="col_3" width="170px">
            <f:facet name="header">
                <h:outputText value="Date asked" id="state_capital"/>
            </f:facet>
            <h:outputText value="#{cap.QDate}" id="cap_name"/>
        </rich:column>

        <a4j:ajax execute="@form" event="selectionchange" listener="#{contentBean.onclick(cap.qid)}" 
                  render="selectiontable"/>
    </rich:extendedDataTable>
    <h:panelGroup layout="block" style="width:400px">
         <rich:panel>
            <f:facet name="header">
                <h:outputText value="Currently selected rows:" />
            </f:facet>
            <rich:dataTable value="#{contentBean.ansList}"
                var="sel" id="selectiontable">
                <rich:column>
                    <h:outputText value="#{sel.AUserid.fname}" />
                </rich:column>
                <rich:column>
                    <h:outputText value="#{sel.ansValue}" />
                </rich:column>
                <rich:column>
                    <h:outputText value="#{sel.ansDate}" />
                </rich:column>
            </rich:dataTable>
        </rich:panel>
    </h:panelGroup>
</h:panelGrid>

  </h:form>

拡張データ テーブルで選択された列からバッキング Bean に cap.userid ( list のデータ変数) を送信することにより、データ テーブルから選択されたパネルに結果を表示したかった (テーブルを取得するには onclick メソッドを呼び出す必要がある)バッキングセッションから2番目のパネルに表示される行)私の問題は、リストナーが選択時に関数を呼び出していることですが、その行データを送信できませんでした。どうすればそれを行うことができますか?

4

1 に答える 1

1

テーブルの選択から選択を取得できます。

 <rich:extendedDataTable
    ...
    selection="#{contentBean.selection}">

そしてそれをバックエンド側に取ります。

for(Object objId:getSelection()){

objId はデータの ID になります。

于 2013-03-25T08:26:32.760 に答える