zoukankan      html  css  js  c++  java
  • InfoPath读取List到重复表

    标题设置好了 添加一个按钮 更改ID  点击编写代码

    然后添加引用 并更改下域的名字

    添加如下代码

    public void LoadBtn_Clicked(object sender, ClickedEventArgs e)
            {
                // 在此处编写代码。
                //创建集合用于存储数据
                List<UserInfo> users = new List<UserInfo>();
                users.Add(new UserInfo() { ID = 1, Name = "张三", Age = 18 });
                users.Add(new UserInfo() { ID = 2, Name = "李四", Age = 19 });
                //获取重复表
                XPathNodeIterator nodes = CreateNavigator().Select("/my:myFields/my:组1/my:组2", NamespaceManager);
                //每次点击按钮需要把之前重复表的内容全部删除
                          XPathNodeIterator val = CreateNavigator().Select("/my:myFields/my:组1/my:组2", NamespaceManager);    
             for (int i = 0; i < val.Count; i++)
    			{ if (val.Count == (i+1)) {
                        break;
                }
            CreateNavigator().SelectSingleNode("/my:myFields/my:组1/my:组2[" + 1 + "]", NamespaceManager).DeleteSelf();
                }
                //循环添加List集合里的数据
                foreach (UserInfo user in users)
                {
                    //获取重复表的最后一行
                    XPathNavigator node = CreateNavigator().SelectSingleNode("/my:myFields/my:组1/my:组2[" + nodes.Count + "]", NamespaceManager);
                    //复制最后一行给一个新的对象
                    XPathNavigator xdata = node.Clone();
    
                    //插入到最后一行的后面
                    node.InsertAfter(xdata);
                    //必须要先插入后设置值不然会有问题
                    xdata.SelectSingleNode("my:ID", NamespaceManager).SetValue(user.ID.ToString());
                    xdata.SelectSingleNode("my:姓名", NamespaceManager).SetValue(user.Name);
                    xdata.SelectSingleNode("my:年龄", NamespaceManager).SetValue(user.Age.ToString());
                }
                
      
            }
    
    InfoPath读取List到重复表
    

      

        class UserInfo {
            public int ID { get; set; }
            public string Name { get; set; }
            public int Age { get; set; }
    }
  • 相关阅读:
    Java实现 LeetCode 455 分发饼干
    Java实现 LeetCode 455 分发饼干
    Java实现 LeetCode 455 分发饼干
    Java实现 LeetCode 454 四数相加 II
    Java实现 LeetCode 454 四数相加 II
    Java实现 LeetCode 454 四数相加 II
    FFmpeg解码H264及swscale缩放详解
    linux中cat more less head tail 命令区别
    C语言字符串操作总结大全(超详细)
    如何使用eclipse进行嵌入式Linux的开发
  • 原文地址:https://www.cnblogs.com/RambleLife/p/8177802.html
Copyright © 2011-2022 走看看