2013-06-12 55 views
0

我有一個重複控件,其中包含5個值爲「2.30」或「1.78」(保存爲數字值)的列。在重複控制中獲取列平均值

我現在想創建一個列總重複控制計算平均值的列值,例如下:(2.30 + 1.78)/ 2

我知道如何在重複控制文件的數量,但是如何獲得列的所有值?

getComponent("repeat1").getRowCount() 
+0

如果重複不使用尋呼機(永諾顯示所有值),簡單的客戶端JavaScript可以做到這一點 - 與合適的CSS選擇器dojo.query並推動總和準備span元素。 –

回答

1

嗨,你可以使用重複控制的VAR propertie訪問整個行的值,並將其保存在viewScope。比你可以跟他們做你想要什麼都:

<xp:repeat id="repeat1" rows="30" value="#{view1}" var="entry" 
      indexVar="indexvar"> 
      <xp:panel> 
       <xp:text escape="true" id="computedField1"> 
        <xp:this.value><![CDATA[#{javascript:var values:java.util.Vector = entry.getColumnValues(); 
    var array = (viewScope.add == null)? new Array():viewScope.add; 
    array.push(values.elementAt(/* column */1)) 
    viewScope.put("add",array); 
    return indexvar; 
    }]]></xp:this.value> 
       </xp:text> 
      </xp:panel> 
     </xp:repeat> 

那麼你就可以顯示出來,或任何你需要:

<xp:text value="#{viewScope.add}"> 
+0

謝謝,這對我有用! –