3

ループに私を投げた奇妙なことに出くわしました。"values" と "get" は、compositeData のプロパティとメソッドのようですが、"set" があるのだろうか?

カスタム コントロールに 3 つのプロパティ定義を追加しました。

カスタム コントロールを含む XPage の [Property Definition] タブで、「header」に値を追加し、「menuEntries」と「values」の両方に複数のエントリを追加しました。

header = "aaa"   
menuEntries = "Main", "File", "Help"     
values = "z", "s"

カスタム コントロール内で、"compositeData.header" を使用して計算済みテキストにヘッダーを配置することにより、カスタム コントロールのプロパティ定義を参照しました。値は、繰り返しコントロールの Interation Data Binding で compositeData.values として参照されます。

XPage が表示されると、ヘッダーの計算されたテキストの場所に「This is the Header」と表示されます。ただし、繰り返しコントロールがデータを表示する場所は、3 つの「メイン」と「ファイル」と「ヘルプ」ではなく、ヘッダーと値の 2 つのカスタム プロパティの名前のみです。

compositeData.values で実際のデータ項目を取得する
には、compositeData.get("values") を使用する必要があります。カスタム コントロールのプロパティ定義と本体は次のとおりです。CC を XPage に追加し、カスタム プロパティにいくつかの値を指定して、私が行ったことを確認してください。

ここに画像の説明を入力

カスタム コントロールの定義

ここに画像の説明を入力

XPages カスタム プロパティ

<xp:panel style="border-color:blue solid thin;">
<xp:text id="cf3" value="#{javascript:compositeData.header}"></xp:text>
     <br /><br />
<xp:repeat id="repeat1" rows="30" var="item" indexVar="itemIndex"
  value="#{javascript:compositeData.menuEntries}">
    <xp:text id="cf2" value="#{javascript:item}"></xp:text>&#160;
</xp:repeat>
     <br />
<xp:repeat id="repeat2" rows="30" var="item" indexVar="itemIndex"
   value="#{javascript:compositeData.values}">
     <xp:text id="computedField5" value="#{javascript:item}"></xp:text>&#160;
</xp:repeat>
   <br />
<xp:text id="cf4" value="#{javascript:compositeData.values}"></xp:text>
<xp:text id="cf5"><br /><br />
     <xp:this.value><![CDATA[#{javascript:compositeData.get("values")}]]></xp:this.value>

結果

ここに画像の説明を入力

4

1 に答える 1

3

compositeDatacom.ibm.xsp.binding.PropertyMapのインスタンスです。

完全なドキュメントは、http: //public.dhe.ibm.com/software/dw/lotus/Domino-Designer/JavaDocs/DesignerAPIs/com/ibm/xsp/binding/PropertyMap.htmlにあります。

于 2013-10-11T08:35:48.420 に答える