搜索表单输入标签不能与 econditions 一起正常工作
search-form-inputs tag not working properly with econditions
我正在使用 econditions 进行实体查找,并将结果列表放在我页面上的 form-list 元素中。我想要对列进行排序的能力,所以我在实体查找的末尾放置了一个 <search-form-inputs/>
标记。
问题是 entity-find 对于我包含的 econditions 不能正常工作(它的结果不是他们应该的!)
当我删除 <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>
看看你的背景是什么,你会确切地看到引发这种行为的原因。 (例如,您可以在屏幕上使用 'label' 标签来 return "== ${context} ==" 等)。
如果您只想进行列排序,那么可以像 [orderByField:ec.web.parameters.orderByField] 一样创建自己的 input-fields-map,并将您的 default-order-by 也放入 search-form-inputs。
<search-form-inputs input-fields-map="xxx" default-order-by="xxx" />
我的屏幕上有一个 form-list,它的列名与我设置 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>
我在 entity-find:
的末尾添加了以下行并删除了 orderBy 语句
<search-form-inputs input-fields-map="[orderByField:ec.web.parameters.orderByField]" default-order-by="myDate,myId,mySurname,myName,myDate" />
并从查询统计信息屏幕中检查该主题中的两个 entity-find 生成的查询是相同的(除了新查询中添加的 orderBy 语句外),除了:
1-这个post中的entity-find在查询的末尾添加一个"limit 20 offset 0"(我可以通过设置上限来处理)
2- 我不能再 orderBy RECETEST.lastUpdatedStamp
(我在主要问题的 entity-find 定义中使用了它)。我需要这个功能!我该怎么办?
我正在使用 econditions 进行实体查找,并将结果列表放在我页面上的 form-list 元素中。我想要对列进行排序的能力,所以我在实体查找的末尾放置了一个 <search-form-inputs/>
标记。
问题是 entity-find 对于我包含的 econditions 不能正常工作(它的结果不是他们应该的!)
当我删除 <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>
看看你的背景是什么,你会确切地看到引发这种行为的原因。 (例如,您可以在屏幕上使用 'label' 标签来 return "== ${context} ==" 等)。
如果您只想进行列排序,那么可以像 [orderByField:ec.web.parameters.orderByField] 一样创建自己的 input-fields-map,并将您的 default-order-by 也放入 search-form-inputs。
<search-form-inputs input-fields-map="xxx" default-order-by="xxx" />
我的屏幕上有一个 form-list,它的列名与我设置 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>
我在 entity-find:
的末尾添加了以下行并删除了 orderBy 语句 <search-form-inputs input-fields-map="[orderByField:ec.web.parameters.orderByField]" default-order-by="myDate,myId,mySurname,myName,myDate" />
并从查询统计信息屏幕中检查该主题中的两个 entity-find 生成的查询是相同的(除了新查询中添加的 orderBy 语句外),除了:
1-这个post中的entity-find在查询的末尾添加一个"limit 20 offset 0"(我可以通过设置上限来处理)
2- 我不能再 orderBy RECETEST.lastUpdatedStamp
(我在主要问题的 entity-find 定义中使用了它)。我需要这个功能!我该怎么办?