【问题标题】:Get Column average in repeat control在重复控制中获取列平均值
【发布时间】:2013-06-12 07:48:15
【问题描述】:

我有一个包含五列的重复控件,其值为“2.30”或“1.78”(保存为数字值)。

我现在想在重复控件下创建一个列总计,计算列值的平均值,例如:(2.30 + 1.78) / 2

我知道如何获取重复控件中的文档数,但是如何获取列的所有值?

getComponent("repeat1").getRowCount()

【问题讨论】:

  • 如果 repeat 不使用分页器(总是显示所有值),简单的客户端 javascript 可以解决问题 - dojo.query 使用适当的 css 选择器并将总和推送到准备好的 span 元素。

标签: xpages repeat


【解决方案1】:

您好,您可以使用 repeat 控件的 var 属性来访问整行的值并将它们保存在 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}">

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-11-20
    • 1970-01-01
    • 2016-07-08
    • 2023-03-04
    • 1970-01-01
    • 2020-12-26
    • 2017-03-15
    相关资源
    最近更新 更多