如果不存在,则创建一行视图对象
Create row of view object if not existing
我有一个包含视图对象的页面,returns 一行。如果它不存在,我的意图是创建一行。进入页面时,如果存在某个key的行,页面加载,也可以很好的更新。
当具有特定键的行不存在时,页面加载不正确。不调用视图对象的 createrow 方法。
我想我的 pageDef 中遗漏了一些东西。
我试过使用 invokeAction
<invokeAction id="initEmptyRowSet" Binds="Rollback" Refresh="always"
RefreshCondition="#{bindings.MyVO1Iterator.queryModel == null}"/>
或
<invokeAction Binds="EventTypesExecuteWithParams" id="invokeEventTypes“ Refresh="ifNeeded"/>
<action IterBinding="MyVO1Iterator“ id="EventTypesExecuteWithParams"
InstanceName="MyAppModuleDataControl.AccidentIVVVO"
DataControl="MyAppModuleDataControl" RequiresUpdateModel="true"
Action="executeWithParams">
</action>
我错过了什么?
您必须有条件地调用 VIOterator 上的 CreateInsert 操作。
这里你的条件是,如果 VOIterator 行计数 > 0,则不要插入新行,否则执行迭代器来查询 VO。
这里是示例代码。
<iterator Binds="AccidentIVVVO" RangeSize="25"
DataControl="MyAppModuleDataControl" id="MyVO1Iterator"/>
<invokeAction id="createInsert" Binds="CreateInsert"
RefreshCondition="#{bindings.MyVO1Iterator.estimatedRowCount == 0}"
Refresh="ifNeeded"/>
<action IterBinding="MyVO1Iterator" id="CreateInsert"
InstanceName="MyAppModuleDataControl.MyVO1"
DataControl="MyAppModuleDataControl"
RequiresUpdateModel="true" Action="createInsertRow"/>
我有一个包含视图对象的页面,returns 一行。如果它不存在,我的意图是创建一行。进入页面时,如果存在某个key的行,页面加载,也可以很好的更新。 当具有特定键的行不存在时,页面加载不正确。不调用视图对象的 createrow 方法。 我想我的 pageDef 中遗漏了一些东西。
我试过使用 invokeAction
<invokeAction id="initEmptyRowSet" Binds="Rollback" Refresh="always"
RefreshCondition="#{bindings.MyVO1Iterator.queryModel == null}"/>
或
<invokeAction Binds="EventTypesExecuteWithParams" id="invokeEventTypes“ Refresh="ifNeeded"/>
<action IterBinding="MyVO1Iterator“ id="EventTypesExecuteWithParams"
InstanceName="MyAppModuleDataControl.AccidentIVVVO"
DataControl="MyAppModuleDataControl" RequiresUpdateModel="true"
Action="executeWithParams">
</action>
我错过了什么?
您必须有条件地调用 VIOterator 上的 CreateInsert 操作。 这里你的条件是,如果 VOIterator 行计数 > 0,则不要插入新行,否则执行迭代器来查询 VO。
这里是示例代码。
<iterator Binds="AccidentIVVVO" RangeSize="25"
DataControl="MyAppModuleDataControl" id="MyVO1Iterator"/>
<invokeAction id="createInsert" Binds="CreateInsert"
RefreshCondition="#{bindings.MyVO1Iterator.estimatedRowCount == 0}"
Refresh="ifNeeded"/>
<action IterBinding="MyVO1Iterator" id="CreateInsert"
InstanceName="MyAppModuleDataControl.MyVO1"
DataControl="MyAppModuleDataControl"
RequiresUpdateModel="true" Action="createInsertRow"/>