我正在使用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>
答案 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
(我在主要问题中的实体查找定义中使用过)。而且我需要此功能!我该怎么办?