Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/svn/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Xpages Xpage自定义控件不在编辑模式下显示_Xpages - Fatal编程技术网

Xpages 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"

我有一个带有两个自定义控件的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">
    <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,但我想了解它的机制。