在我的一个 XPage 中,我有一个单选按钮。如果我选择单选按钮的值,则会调用部分刷新。
- 单选按钮的值为 1 仅在同一行显示一个新按钮
- 值 2 在单选按钮组下方添加了更多字段
在这个新字段下方有一个 Dojo 过滤选择字段,可以从员工列表中进行选择。
如果我选择值 1,则过滤选择工作正常。如果我选择值 2,过滤选择仍然从“旧”位置开始,没有识别空间,新字段需要
如何更新过滤选择列表的位置?部分刷新是针对页面的完整内容,但在这里似乎不起作用。
这是无线电组的代码,它会在更改时进行部分刷新:
<xp:radioGroup id="rbgSelectEducationType" layout="pageDirection"
value="#{docApplication.EducationType}">
<xp:this.readonly>
<![CDATA[#{javascript:docApplication.getItemValueString("ZwfStepName") != "Start"}]]></xp:this.readonly>
<xp:selectItem itemLabel="ESG Veranstaltung aus dem Katalog"
itemValue="ESG-Veranstaltung">
</xp:selectItem>
<xp:selectItem itemLabel="Externe Veranstaltung"
itemValue="Externe-Veranstaltung">
</xp:selectItem>
<xp:eventHandler event="onclick" submit="true"
refreshMode="partial" refreshId="wcEventDetails">
</xp:eventHandler>
</xp:radioGroup>
这是过滤选择下拉菜单的代码:
<xe:djFilteringSelect id="Approver" value="#{docApplication.Approver}" ignoreCase="true">
<xe:this.rendered><![CDATA[#javascript:docApplication.getItemValueString("ZwfStepName")=="Start"}]]></xe:this.rendered>
<xp:selectItems id="selectItems2">
<xp:this.value><![CDATA[#{javascript:if(docApplication.isEditable()){
getComponent("AllUsersLastFirst").getValue().split("#");
}}]]></xp:this.value>
</xp:selectItems>
<xp:eventHandler event="onChange" submit="true" refreshMode="partial" refreshId="panelBody" id="eventHandler2">
<xp:this.action><![CDATA[#{javascript:var dbPR = new Array(applicationScope.srv, applicationScope.pathPR);
var Approver:com.ibm.xsp.extlib.component.dojo.form.UIDojoFilteringSelect = getComponent("Approver");
var lookup=@DbLookup(dbPR,applicationScope.xpPersonByLastNameFirstName,Approver.getValue(),2);
lookup=@If(@IsError(lookup),"error",lookup);
if (lookup=="error") {
errormsg = valstrings.getString("ccEsgDocWflContentApprover.lookup1");
globalScriptErrors.add(errormsg);
requestScope.put("scriptErrors", globalScriptErrors);
}
@SetField("NotesNameApprover", lookup);}]]></xp:this.action>
</xp:eventHandler>
</xe:djFilteringSelect>