我在组合框更改事件上启用了部分刷新。它刷新了其他字段。但是,在更改组合框值时,刷新需要大量时间,它给了我弹出警报:"在更新某些页面时发生错误,超时。"
<xp:comboBox
id="access_status"
value="#{document1.access_status}"
style="font-size:7pt;width:109.0px"
defaultValue="New">
<xp:selectItem
itemLabel="New"
itemValue="New"
id="selectItem2">
</xp:selectItem>
<xp:selectItem
itemLabel="Change required"
itemValue="Change required"
id="selectItem3">
</xp:selectItem>
<xp:eventHandler
event="onchange"
submit="true"
refreshMode="partial"
refreshId="access_type_email"
disableValidators="true">
</xp:eventHandler>
</xp:comboBox>
<xp:checkBox text="Email" id="access_type_email"
checkedValue="Yes" value="#{document1.access_type_email}" style="font-size:7pt">
<xp:eventHandler event="onclick" submit="true"
refreshMode="partial" refreshId="panel_request_information"
disableValidators="true" id="eventHandler1">
</xp:eventHandler>
</xp:checkBox>
将 execMode="partial" execId="access_status"
添加到combobox eventhandler:
<xp:comboBox
...
<xp:eventHandler
event="onchange"
submit="true"
refreshMode="partial"
refreshId="access_type_email"
disableValidators="true"
execMode="partial"
execId="access_status">
</xp:eventHandler>
</xp:comboBox>
它将仅将您的Combobox的值发送到服务器,以进行部分刷新,而不是所有其他字段。也许形式的其他字段需要太多时间才能完整提交...