0

このコンテンツを含む xPage があります。

    <div class="lotusFrame">
    <xc:layoutCommonBanner />
    <xp:callback facetName="facetTitleBar" id="callbackTitleBar" />
    <xc:layoutDiscrepancyPlaceBar />
    <div class="lotusMain">
        <div class="lotusColLeft">
            <xp:callback facetName="facetColLeft" id="callbackColLeft" />
        </div>
        <div class="lotusColRight">
            <xp:callback facetName="facetColRight" id="callbackColRight" />
        </div>
        <div class="lotusContent">
            <xp:callback facetName="facetContent" id="callbackContent" />
        </div>
    </div>
    <xc:layoutCommonFooter />
    <xc:layoutCommonLegal />
</div>

ご覧のとおり、レイアウトを構成するいくつかのカスタム コントロールがあります。facetContent には、ドキュメント データソースを持つドキュメントがあります。これは、ページ内の唯一のドキュメントです。このドキュメントを何らかの方法で layoutDiscrepancyPlaceBar カスタム コントロールで取得する必要があります。

currentDocument と呼ばれる文書化されていない機能を含む古い記事を Web で見つけました。ドキュメントデータソースを含むすべてのページにある必要があります。しかし、それはうまくいきません。Domino 8.5.2 を使用していますが、currentDocument はサポートされていないようです。

あなたは私を助けることができます?あるカスタム コントロールから別のカスタム コントロールのドキュメント データソースを取得するにはどうすればよいですか。それは可能ですか?

前もってありがとう、イジー

編集: OK、まだサポートされていますが、ドキュメント データソースを含むカスタム コントロールでのみ機能します。上記のシナリオでは、機能しません。

4

2 に答える 2

0

また、データ ソースのハンドルをカスタム コントロールに直接渡すこともできます。また、データ ソースでバインドするアイテムの名前も渡すことができます。EL は配列構文とドット構文をサポートしているため、次のような式を定義できます。

#{compositeData.dsn[compositeData.fieldName]}

(ここで、「dsn」はデータ ソースのハンドルが渡されるプロパティであり、「fieldName」はそのデータ ソースでバインドするアイテムの名前が渡されるプロパティです。)

このアプローチの詳細については、こちらを参照してください

于 2012-08-05T06:18:36.150 に答える
0

最善の選択肢は、カスタム プロパティでバインディング名を渡すことです。(それを呼び出しbindtoましょう。次に、フィールドをにバインドします

 "${#{"+compositeData.bindto+"}}"

詳細はこちら(prezi 内)

PS currentDocument はどこかに文書化されています。

于 2012-08-05T00:18:30.107 に答える