2014-10-20 36 views
0

我有問題xe:tooltip。 我有一個XPage與xe:dynamicContent控件來更改表格的內容。我現在的問題是,這個表格應該包含幾個計算xe:tooltip(幫助用戶)。使用xe:tooltip裏面xe:dynamicContent

工具提示我創建像這樣(代碼更新)一個customControl:DynamicContent類元素:如果我somwhere使用它的XE之外

   <xp:link 
        id="lnkHelp"> 
        <xp:image 
         id="imgHelp" 
         url="/.ibmxspres/domino/oneuiv2/images/iconHelp16.png"> 
        </xp:image> 
       </xp:link> 
       <xe:tooltip 
        id="tooltip" for="lnkHelp" dynamicContent="true"> 
        <xp:panel 
         id="helpContent" rendered="true"> TEST 
         <xp:text escape="true" id="computedField2" 
          value="#{javascript:@Now().getMilliseconds()}"> 
         </xp:text> 
        </xp:panel> 
       </xe:tooltip> 

這種控制工作正常。在我的表格內,當我在HelpLink上觸發鼠標懸停操作時,出現以下錯誤:刷新元素的錯誤:view:id ...某些id的:dynamicContent:_id38_id39:tooltipHelp。我沒有在服務器控制檯中得到任何錯誤,也沒有得到任何在xpages_exec日誌中。但是在內容加載前後,我得到了兩條打印語句。

那麼這是否意味着我不能在xe:dynamicContent內使用帶有dynamicContent的xe:tooltip?有沒有人有類似的問題?是否有解決方法?

更新: 我沒有在這個問題上的一些進一步的測試,現在我有以下我XPAGE代碼:

<xp:this.beforeRenderResponse><![CDATA[#{javascript: 
    var dynamicContent = getComponent('dynamicContent'); 
    dynamicContent.show(viewScope.selected);}]]> 
</xp:this.beforeRenderResponse> 

    <xe:dynamicContent partialEvents="true" id="dynamicContent" defaultFacet="key_2"> 
     <xp:this.facets> 
      <xp:panel xp:key="key_1" id="panel1"> 
       <xp:link id="lnkHelp"> 
        <xp:image 
         id="imgHelp" 
         url="/.ibmxspres/domino/oneuiv2/images/iconHelp16.png"> 
        </xp:image> 
       </xp:link> 
       <xe:tooltip id="tooltip" for="lnkHelp" dynamicContent="true"> 
        <xp:panel 
         id="helpContent" rendered="true"> TEST 
         <xp:text escape="true" id="computedField2" 
          value="#{javascript:@Now().getMilliseconds()}"> 
         </xp:text> 
        </xp:panel> 
       </xe:tooltip> 
      </xp:panel> 
      <xp:panel xp:key="key_2" id="panel2"> 
       <xc:tooltipControl></xc:tooltipControl> 
      </xp:panel> 
     </xp:this.facets> 
    </xe:dynamicContent> 

<xp:button value="key_1" id="key_1"> 
    <xp:eventHandler event="onclick" submit="true" refreshMode="complete" 
     <xp:this.action><![CDATA[#{javascript:viewScope.selected = "key_1";}]]></xp:this.action> 
    </xp:eventHandler> 
</xp:button> 

正如你可以PANEL1看到我用同樣的代碼在tooltipControl的是Panel2 (複製粘貼)現在來自panel1的代碼正在工作,但panel2中的代碼不是!看起來像一個錯誤不是任何人都可以證實的功能?目前運行9.0.1服務器和extlib版本9.0.1.v00_09_20140903-1400。

+0

只是測試它,並在這裏運行良好。 Windows上的服務器是9.0.1FP2,並且在9月14日發佈了ExtLib。在Chrome 38中(也在Windows上)測試它。在1月份發佈的ExtLib的9.0.1FP1服務器上測試了它。運行也很好。 – 2014-10-21 19:09:07

+0

好嗎?是否顯示了是否使用'defaultFacet =「key_2」'的工具提示? (添加服務器和extlib verion的問題)嗯......不能讓它工作已經在另一個解決方案。 – 2014-10-22 05:59:40

+0

你也運行FP2嗎?這可能會有所作爲。 – 2014-10-22 06:55:11

回答

0

我想我終於想通了..我刪除了beforeRenderResponse而不是改變viewScope.selected我將dynamicContent.show移動到按鈕事件...這現在適用於我。現在我必須決定是否更改每個按鈕或爲工具提示提出另一個解決方案。

新的按鈕代碼:

<xp:button 
    value="key_1" 
    id="key_1"> 
    <xp:eventHandler 
     event="onclick" 
     submit="true" 
     refreshMode="complete"> 
     <xp:this.action><![CDATA[#{javascript:  
      var dynamicContent = getComponent('dynamicContent'); 
      dynamicContent.show("key_1");}]]></xp:this.action> 
    </xp:eventHandler> 
</xp:button>