0

我有一个重复控件,它从视图中收集其数据。在表格中显示的是视图中的一列。这些条目可以是可变的。对于重复控件中的每个条目,我希望有几个用户可编辑的字段(注释和复选框)。由于条目的数量和名称是动态的,我认为动态字段绑定是要走的路。问题是我已经为此苦苦挣扎了几天,却无处可去。

因此,在重复中,我有一个计算字段来显示列的值。我正在考虑将评论字段的字段名称设为计算字段的值。数据源将是相同的,只是字段名称会更改并基于行中的条目。

关于动态字段绑定所有列表传递自定义属性的先前条目stackoverflow条目,我仍然没有理解这些。

如果 computedfield1 的值 = “One”,那么 inputText1 的数据源/字段名称 = “document1.One”,如果 computedField1 = “Two”,那么数据源 inputText1 = “document1.Two”

这甚至可能吗?

4

1 回答 1

2

如果您希望这些是您设置为在页面加载时呈现的内容,或者您​​希望它们根据用户输入的数据动态更改,我有点困惑,但我假设它是前者并给您一个示例.

如果我在重复控件中迭代视图,我可能有类似的东西:

<xp:repeat rows="50" var="currRow" value="#{ViewName}" IndexVar="rowNum">
</xp:repeat>

在我的重复中,我将引用一个自定义类

<xp:repeat rows="50" var="currRow" value="#{ViewName}" IndexVar="rowNum">
    <xc:dynamicRowBinding dataSource="#{currentDocument}">
        <xc:this.binding1>
            <![CDATA[#{javascript: currRow.getColumnValue("binding1");}]]>
        </xc:this.binding1>
    </xc:dynamicRowBinding>
</xp:repeat>

这是假设您在 XPage 上绑定的文档被声明为 currentDocument,并且您的基础视图中有一个列正在根据属性和值计算当前行的所需字段绑定那个文件。

在自定义控件中,存在以下内容:

定义数据源

通过将 dataSource 和 binding1 定义为自定义控件中的属性,它们将可用作复合数据。

因此,要使用这些组件绑定字段,我们只需将以下定义放入自定义控件中:

<xp:inputText value="#{compositeData.dataSource[compositeData.binding1]}">
</xp:inputText>

我希望这有帮助!

于 2013-08-01T18:17:06.107 回答