InfoPath中重复表 - 从当前行获取场(Infopath repeating table -

2019-09-19 10:44发布

我在InfoPath重复表格。 在一个场变化的事件,我需要执行的计算与有问题的行中的数据。 我该如何去这在后台代码(C#)和XPath?

例如,我有一个开始日期和结束日期。 在代码后面做一个计算来计算跨度的小时数。 这适用于第一行,但不后续行。 我知道我写的,到目前为止仅适用于第一行的方式,但我怎么做这项工作的所有行?

Answer 1:

您可以使用创建XPathNodeIterator这一点。 例如:可以使用创建XPathNodeIterator这一点。 例如:

        XPathNodeIterator nodes = MainDataSource.CreateNavigator().Select("/my:myFields/my:group1/my:group2", this.NamespaceManager);

        string field1 = string.Empty;
        string field2 = string.Empty;
        string field3 = string.Empty;

        foreach (XPathNavigator node in nodes)
        {
            field1 = node.SelectSingleNode("my:field1", this.NamespaceManager).Value;
            field2 = node.SelectSingleNode("my:field2", this.NamespaceManager).Value;
            field3 = node.SelectSingleNode("my:field3", this.NamespaceManager).Value;
        }

这将让每个字段的值和一个字符串变量设置为该值。 如果你希望来连接所有的值,就需要修改这个 - 你可以做一些很简单的,如:

field1 = node.SelectSingleNode("my:field1", this.NamespaceManager).Value + " " + field1;


文章来源: Infopath repeating table - get field from current row