Xpages Xpage自定义控件不在编辑模式下显示
我有一个带有两个自定义控件的xPage。一个CC嵌套在另一个CC中。当我将xPage置于编辑模式时,最里面的CC不会切换到编辑模式,但它包含CC。我错过了什么?编辑按钮只是一个简单的“更改文档模式”操作 xPage代码Xpages Xpage自定义控件不在编辑模式下显示,xpages,Xpages,我有一个带有两个自定义控件的xPage。一个CC嵌套在另一个CC中。当我将xPage置于编辑模式时,最里面的CC不会切换到编辑模式,但它包含CC。我错过了什么?编辑按钮只是一个简单的“更改文档模式”操作 xPage代码 <?xml version="1.0" encoding="UTF-8"?> <xp:view xmlns:xp="http://www.ibm.com/xsp/core" xmlns:xc="http://www.ibm.com/xsp/custom"
<?xml version="1.0" encoding="UTF-8"?>
<xp:view xmlns:xp="http://www.ibm.com/xsp/core"
xmlns:xc="http://www.ibm.com/xsp/custom">
<xp:this.data>
<xp:dominoDocument var="document1" formName="Test"></xp:dominoDocument>
</xp:this.data>
<xp:button value="Edit" id="button1">
<xp:eventHandler event="onclick" submit="true" refreshMode="complete">
<xp:this.action>
<xp:changeDocumentMode mode="edit" var="document1"></xp:changeDocumentMode>
</xp:this.action></xp:eventHandler></xp:button>
<xp:button value="Submit" id="button2">
<xp:eventHandler event="onclick" submit="true"
refreshMode="complete" immediate="false" save="true">
</xp:eventHandler>
</xp:button>
<xc:Outer></xc:Outer>
</xp:view>
外部自定义控件
<?xml version="1.0" encoding="UTF-8"?>
<xp:view xmlns:xp="http://www.ibm.com/xsp/core"
xmlns:xc="http://www.ibm.com/xsp/custom">
<xp:this.data>
<xp:dominoDocument var="document1" formName="Test"></xp:dominoDocument>
</xp:this.data>
<xp:table style="border-color:rgb(0,64,128);border-style:solid;border-width:medium">
<xp:tr>
<xp:td>
<xp:label id="label1" value="Outer CC"></xp:label>
</xp:td>
<xp:td>
<xp:button value="Edit" id="button1">
<xp:eventHandler event="onclick" submit="true"
refreshMode="complete">
<xp:this.action>
<xp:changeDocumentMode mode="edit"></xp:changeDocumentMode>
</xp:this.action>
</xp:eventHandler>
</xp:button>
<xp:button value="Submit" id="button2"><xp:eventHandler event="onclick" submit="true" refreshMode="complete" immediate="false" save="true"></xp:eventHandler></xp:button></xp:td>
</xp:tr>
<xp:tr>
<xp:td>
<xp:label value="Outer Field" id="label2"></xp:label>
</xp:td>
<xp:td>
<xp:inputText id="inputText1"
value="#{document1.FieldOuter}">
</xp:inputText>
</xp:td>
</xp:tr>
<xp:tr>
<xp:td></xp:td>
<xp:td></xp:td>
</xp:tr>
<xp:tr>
<xp:td></xp:td>
<xp:td>
<xc:Inner></xc:Inner></xp:td>
</xp:tr>
</xp:table>
</xp:view>
<?xml version="1.0" encoding="UTF-8"?>
<xp:view xmlns:xp="http://www.ibm.com/xsp/core">
<xp:this.data>
<xp:dominoDocument var="document1" formName="Test"></xp:dominoDocument>
</xp:this.data>
<xp:table style="border-color:rgb(255,128,0);border-style:solid;border-width:medium">
<xp:tr>
<xp:td>
<xp:label value="Inner CC" id="label1"></xp:label>
</xp:td>
<xp:td>
<xp:button value="Edit" id="button1"><xp:eventHandler event="onclick" submit="true" refreshMode="complete">
<xp:this.action>
<xp:changeDocumentMode mode="edit" var="document1"></xp:changeDocumentMode>
</xp:this.action></xp:eventHandler></xp:button>
<xp:button value="Submit" id="button2"><xp:eventHandler event="onclick" submit="true" refreshMode="complete" immediate="false" save="true"></xp:eventHandler></xp:button></xp:td>
</xp:tr>
<xp:tr>
<xp:td>
<xp:label value="Field Inner" id="label2"></xp:label>
</xp:td>
<xp:td>
<xp:inputText id="inputText1" value="#{document1.FieldInner}"></xp:inputText>
</xp:td>
</xp:tr>
</xp:table>
</xp:view>
内部自定义控件
<?xml version="1.0" encoding="UTF-8"?>
<xp:view xmlns:xp="http://www.ibm.com/xsp/core"
xmlns:xc="http://www.ibm.com/xsp/custom">
<xp:this.data>
<xp:dominoDocument var="document1" formName="Test"></xp:dominoDocument>
</xp:this.data>
<xp:table style="border-color:rgb(0,64,128);border-style:solid;border-width:medium">
<xp:tr>
<xp:td>
<xp:label id="label1" value="Outer CC"></xp:label>
</xp:td>
<xp:td>
<xp:button value="Edit" id="button1">
<xp:eventHandler event="onclick" submit="true"
refreshMode="complete">
<xp:this.action>
<xp:changeDocumentMode mode="edit"></xp:changeDocumentMode>
</xp:this.action>
</xp:eventHandler>
</xp:button>
<xp:button value="Submit" id="button2"><xp:eventHandler event="onclick" submit="true" refreshMode="complete" immediate="false" save="true"></xp:eventHandler></xp:button></xp:td>
</xp:tr>
<xp:tr>
<xp:td>
<xp:label value="Outer Field" id="label2"></xp:label>
</xp:td>
<xp:td>
<xp:inputText id="inputText1"
value="#{document1.FieldOuter}">
</xp:inputText>
</xp:td>
</xp:tr>
<xp:tr>
<xp:td></xp:td>
<xp:td></xp:td>
</xp:tr>
<xp:tr>
<xp:td></xp:td>
<xp:td>
<xc:Inner></xc:Inner></xp:td>
</xp:tr>
</xp:table>
</xp:view>
<?xml version="1.0" encoding="UTF-8"?>
<xp:view xmlns:xp="http://www.ibm.com/xsp/core">
<xp:this.data>
<xp:dominoDocument var="document1" formName="Test"></xp:dominoDocument>
</xp:this.data>
<xp:table style="border-color:rgb(255,128,0);border-style:solid;border-width:medium">
<xp:tr>
<xp:td>
<xp:label value="Inner CC" id="label1"></xp:label>
</xp:td>
<xp:td>
<xp:button value="Edit" id="button1"><xp:eventHandler event="onclick" submit="true" refreshMode="complete">
<xp:this.action>
<xp:changeDocumentMode mode="edit" var="document1"></xp:changeDocumentMode>
</xp:this.action></xp:eventHandler></xp:button>
<xp:button value="Submit" id="button2"><xp:eventHandler event="onclick" submit="true" refreshMode="complete" immediate="false" save="true"></xp:eventHandler></xp:button></xp:td>
</xp:tr>
<xp:tr>
<xp:td>
<xp:label value="Field Inner" id="label2"></xp:label>
</xp:td>
<xp:td>
<xp:inputText id="inputText1" value="#{document1.FieldInner}"></xp:inputText>
</xp:td>
</xp:tr>
</xp:table>
</xp:view>
每个自定义控件和您的xpage都有一个数据源,但它们具有相同的名称并绑定到同一文档,因为它们不忽略请求参数。“更改文档模式”按钮在页面上查找指定了var的第一个数据源,并将其更改为只读,从而仅更新绑定到该数据源的字段。我会确保您只有一个具有相同名称的数据源,并以这种方式工作。每个自定义控件和您的xpage都有一个数据源,但它们具有相同的名称并绑定到同一文档,因为它们不会忽略请求参数。“更改文档模式”按钮在页面上查找指定了var的第一个数据源,并将其更改为只读,从而仅更新绑定到该数据源的字段。我会确保您只有一个同名的数据源,并以这种方式工作。它们使用相同的数据源吗?你有一个只读的xp:面板吗?制作一个示例,在这里发布。最里面的CC设置为只读吗?最里面的CC没有设置为只读。两个CC使用相同的数据源(映射到相同的db表单)。如果我在内部CC上放置一个编辑按钮(因此页面上有两个编辑按钮),则内部CC编辑按钮会将该CC置于编辑模式。“外部抄送编辑”按钮仅将外部抄送置于编辑模式。我将处理一个示例。我在上面添加了一些示例代码。使用此选项,编辑按钮仅在其自己的范围内工作。xPages编辑按钮不会将任何CC置于编辑模式,外部CC编辑按钮仅编辑外部CC,内部CC编辑按钮仅编辑内部CC。这三个都使用相同的数据源。我可以让它在我的情况下工作,因为我并不真正需要内部CC,但我想了解它的机制。它们使用相同的数据源吗?你有一个只读的xp:面板吗?制作一个示例,在这里发布。最里面的CC设置为只读吗?最里面的CC没有设置为只读。两个CC使用相同的数据源(映射到相同的db表单)。如果我在内部CC上放置一个编辑按钮(因此页面上有两个编辑按钮),则内部CC编辑按钮会将该CC置于编辑模式。“外部抄送编辑”按钮仅将外部抄送置于编辑模式。我将处理一个示例。我在上面添加了一些示例代码。使用此选项,编辑按钮仅在其自己的范围内工作。xPages编辑按钮不会将任何CC置于编辑模式,外部CC编辑按钮仅编辑外部CC,内部CC编辑按钮仅编辑内部CC。这三个都使用相同的数据源。我可以让它在我的情况下工作,因为我真的不需要内部CC,但我想了解它的机制。