提取InfoPath2010中多选选项清单的值

时间:2011-03-23 11:49:04

标签: infopath

我需要在文本框中提取多个选择核对表的值,是否可以这样做? 我试图使用来自数据源的多个清单值,多个清单值手动输入密钥,但两种情况都不起作用,通过在文本框中应用规则仍然显示为空...

只有单个复选框确实会在文本框中显示赋值。

请指导我。

谢谢

2 个答案:

答案 0 :(得分:1)

您必须编写一些代码才能将所有值都放入单个文本框中。多选复选框存储为重复字段 - 因此您可以编写代码来解析DOM XML并遍历节点并创建一个分隔字符串以显示在文本框中(使用DOM selectNodes函数和标准XML解析)。

这个论坛的完整示例有点长,但如果您遇到问题,请发帖/提出具体问题。它并不是那么难 - 只是有点痛苦,因为它是基于代码的。

答案 1 :(得分:1)

public void CTRL20_5_Clicked(object sender,ClickedEventArgs e)         {             //在这里写下你的代码。

        XPathNavigator root = MainDataSource.CreateNavigator();
        XPathNodeIterator iter = root.Select("//my:myFields/my:check/my:box",
          NamespaceManager);
        System.Text.StringBuilder sb = new System.Text.StringBuilder();

        while (iter.MoveNext())
        {
            string value = iter.Current.Value;
            sb.Append(value);
            sb.Append("; ");
        }
       root.SelectSingleNode("/my:myFields/my:value",
          NamespaceManager).SetValue(sb.ToString()); 
   }