search-form-inputs标记不能与econdition一起正常使用

时间:2019-06-19 06:21:31

标签: moqui

我正在使用econditions进行实体查找,并将结果列表放在页面上的form-list元素中。我希望能够对列进行排序,因此我在实体查找的末尾放置了一个<search-form-inputs/>标签。 问题是,对于我包含的条件,实体查找无法正常工作(其结果不是应该的结果!)

,当我删除<search-form-inputs/>标记时,一切正常。 有什么建议么?也许我没有正确使用此标签。

                   <entity-find entity-name="me.myJointView" list="itmTemp" distinct="true">
                    <econdition field-name="myId" operator="less-equals" from="rNTo" ignore-if-empty="true"/>
                    <econdition field-name="myId" operator="greater-equals" from="rNFrom" ignore-if-empty="true"/>
                    <econdition field-name="myName" from="fName" ignore-if-empty="true"/>
                    <econdition field-name="mySurname" from="lName" ignore-if-empty="true"/>
                    <econdition field-name="myDate" operator="less-equals" from="aDTo" ignore-if-empty="true"/>
                    <econdition field-name="someId" operator="equals" from="so" ignore-if-empty="true"/>
                    <econdition field-name="someOtherId" operator="equals" from="rm" ignore-if-empty="true"/>
                    <econditions combine="or">
                        <econdition field-name="myStateEnumId" operator="equals" value="something"/>
                        <econdition field-name="myStateEnumId" operator="equals" value="somethingElse"/>
                    </econditions>
                    <econditions combine="or">
                        <econditions combine="and">
                            <econdition field-name="aDate" from="null"/>
                            <econdition field-name="myDate" operator="greater-equals" to-field-name="aDate"/>
                        </econditions>
                        <econditions combine="and">
                            <econdition field-name="myDate" operator="less-equals" to-field-name="dDate"/>
                            <econdition field-name="myDate" operator="greater-equals" to-field-name="aDate"/>
                        </econditions>
                    </econditions>
                    <search-form-inputs/>
                    <select-field field-name="myId"/>
                    <select-field field-name="myName"/>
                    <select-field field-name="mySurname"/>
                    <select-field field-name="MyDate"/>
                    <order-by field-name="myDate,RECETEST.lastUpdatedStamp"/>
                </entity-find>

2 个答案:

答案 0 :(得分:0)

看看您所处的环境,您将确切地看到正在发生的行为。 (例如,您可以在屏幕上使用“标签”标签返回“ == $ {context} ==“等)。

如果只希望进行列排序,则可以创建自己的输入字段映射,例如[orderByField:ec.web.parameters.orderByField],然后将默认的排序方式与搜索形式输入一起放入。 / p>

<search-form-inputs input-fields-map="xxx" default-order-by="xxx" />

答案 1 :(得分:0)

我的屏幕上有一个表单列表,其列名与我在其上设置econditions的字段相同。像这样:

<form-list  name="list" list="receptions"  headre-dialog="true" paginate="true"> 

                                                                                                                                                                                              

                    <field name="mySurname" skip-form="false">
                        <header-field show-order-by="true"><text-find hide-options="true"/></header-field>
                        <default-field><display/></default-field>
                    </field>
                    <field name="myDate" skip-form="false">
                        <header-field show-order-by="true"><text-find hide-options="true"/></header-field>
                        <default-field><display/></default-field>
                    </field>
                    <field name="editButton">
                        <default-field>
                            <link url="edit" parameter-map="[myId:myId]" icon="glyphicon glyphicon-pencil" btn-type="info" />
                        </default-field>
                    </field>
                    <form-list-column>
                        <field-ref name="myId" skip-form="true"/>
                    </form-list-column>
                    <form-list-column>
                        <field-ref name="myName"/>
                    </form-list-column>
                    <form-list-column>
                        <field-ref name="mySurname"/>
                    </form-list-column>
                    <form-list-column>
                        <field-ref name="myDate"/>
                    </form-list-column>
                    <form-list-column>
                        <field-ref name="editButton"/>
                    </form-list-column>
                    <field-layout>
                        <fields-not-referenced/>
                        <field-row>
                            <field-ref name="myId"/>
                            <field-ref name="myName"/>
                            <field-ref name="mySurname"/>
                            <field-ref name="myDate"/>
                            <field-ref name="editButton"/>
                        </field-row>
                    </field-layout>
                </form-list>

我在实体查找的末尾添加了以下行并删除了orderBy语句:

 <search-form-inputs input-fields-map="[orderByField:ec.web.parameters.orderByField]" default-order-by="myDate,myId,mySurname,myName,myDate" />

并从查询统计信息屏幕中检查,由该主题中的两个实体发现产生的查询是相同的(除了在新查询中添加的orderBy语句之外),

1-本文中的实体查找在查询末尾添加了“ limit 20 offset 0”(我可以通过设置上限来处理)

2-我无法再订购RECETEST.lastUpdatedStamp(我在主要问题中的实体查找定义中使用过)。而且我需要此功能!我该怎么办?