2012-08-03 64 views
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的未记录功能的旧文章。它应该在每个带有文档数据源的页面上。但它不起作用。我有Domino 8.5.2,currentDocument似乎不再受支持。

你能帮我吗?如何从另一个自定义控件中的一个自定义控件获取文档数据源。它甚至有可能吗?

由于提前,吉日

编辑:好的,它仍然是支持的,但它只能在自定义控制,即包含在一个与文件数据源里面。在上面的情况下,它不起作用。

+0

你需要什么文件在你的placebar?也许你的问题有另一种解决方案。 – jjtbsomhorst 2012-08-04 11:45:36

+0

我想使用placeBar作为按钮在文档上做一些操作。我可以将placeBar放入内容控件中,但它很讨厌。 – JiKra 2012-08-04 19:49:55

+0

我认为这是您目前唯一的解决方案。或者你应该在更高层次上定义你的数据源。 – jjtbsomhorst 2012-08-04 19:59:16

回答

0

您最好的选择是交出自定义属性中的绑定名称。 (可以称之为bindto。然后你的字段绑定到

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

查看详情here(在prezi内)

PS currentDocument某处记录。

0

您也可以通过对数据的处理因为EL支持数组语法以及点语法,因此您可以定义像这样的表达式:

#{compositeData.dsn[compositeData.fieldName]} 

(其中“DSN”是正在传递的数据源手柄上的属性,而“fieldName的”是属性正在传递的项目的绑定到数据源上的名称。)

更多细节在这个方法上可以找到here

相关问题