jsf - 从selectOneMenu中的数据库中重新选择数据,该数据位于对话框中的数据表中

时间:2014-11-10 08:12:57

标签: jsf primefaces datatable

首先,对不起我的英语。 所以,我正在使用jsf,使用primefaces,并面临下一个问题: 我有一个内部有数据表的对话框,数据表行由行选择复选框和selectOneMenu元素组成,第一个selectOneMenu使用转换器显示来自DB的数据。

页:

<h:form>
    <p:dialog>
        <p:panelGrid>
            <p:dataTable var="var", value="#{bean.enities}" rowKey=".." selection="#{bean.selection}">
                <p:ajax event="rowSelectCheckbox"/>
                <p:ajax event="rowUnselectCheckbox"/>
                <p:ajax event="toggleSelect"/>
                <p:column style="text-align:center; width:20px;" selectionMode="multiple"/>
                <p:column>
                    <p:selectOneMenu  value="#{var.valueWithConverter}" converter="value1Converter" >
                        <f:selectItem itemLabel="NULL" itemValue="#{null}"/>
                        <f:selectItems value="..." var="..." itemValue="..."  itemLabel="...}"/>
                    </p:selectOneMenu>
                </p:column>
                <p:column >
                    <p:selectOneMenu value="#{valueWithoutConverter}">
                        <f:selectItems value="#{...}"/>
                    </p:selectOneMenu>
                </p:column>
            </p:dataTable>
        </p:panelGrid>
     </p:dialog>
</h:form>

问题是,当我在行选择复选框列中选择一些行时,对于每个选定的行,在转换器类中调用getEntityById方法,其中(方法)从DB调用select操作。我正在使用转换器,它从javax.faces.covert.Converter扩展而来。 任何想法,我该怎么做才能停止调用getEntityById方法?

0 个答案:

没有答案