zoukankan      html  css  js  c++  java
  • 如何用代码对repeating section控件新增Item(InfoPath)

    在做项目的时候,有一个场景,当用户切换不同选项时(radio button),repeating section会随着切换而变换两种状态1:删除所有item. 2.新增而且只新增一个item.

    对于删除比较容易,但对于从没有任何一个item状态下,新增一个item,来讲,在网上找了很久,也没有找到合适的解决办法。经过几次试验,终于有了一个比较理想的解决方案。即用临时变量存放section item的xml。然后当状态切换时,用代码AppendChild(xml)来动态新增一个item.

    infopath form的dataSource如下结构:

    -myFields

      |-group1

        |-group2

          |-field1

          |-field2

    删除:

                XPathNavigator domNav = MainDataSource.CreateNavigator();

                XPathNodeIterator it = domNav.Select("/my:myFields/my:group1/my:group2", NamespaceManager);
                while (it.Count > 0)
                {
                    it.MoveNext();
                    it.Current.DeleteSelf();
                    it = domNav.Select("/my:myFields/my:group1/my:group2", NamespaceManager);
                }

    新增 :

      1),用临时变量存放section item的xml. 注意:如果是web based的,要用session来存放这个变量

            private object _NodeXml
            {
                get
                {
                    return FormState["_nodeXml"];
                }
                set
                {
                    FormState["_nodeXml"] = value;
                }
            }

           public void FormsEvents_Loading(object sender,LoadingEventArgs e)

          {

                XPathNavigator pare = domNav.SelectSingleNode("/my:myFields/my:group1/my:group2", NamespaceManager);
                if (pare != null)
                {
                    _NodeXml= pare.OuterXml;
                }

          }

         2)在另外的事件下面:

                XPathNavigator domNav = MainDataSource.CreateNavigator();

                XPathNavigator pare = domNav.SelectSingleNode("/my:myFields/my:group1", NamespaceManager);
                pare.AppendChild(_NodeXml);

  • 相关阅读:
    [转载]Bat语法
    [转载]白手起家学习使用flex
    [转载]Highcharts结合Asp.net实现动态数据股票式图形显示实例
    [转]uploadify3.0详细使用说明
    转帖:UML实践用例图、顺序图、状态图、类图、包图、协作图
    [转]JQuery操作Table
    [转]Chrome developer tool介绍(javascript调试)
    [转载]C# 指针之美
    [转载]C# 温故而知新: 线程篇(二)
    [转载]Javascript定义类(class)的三种方法
  • 原文地址:https://www.cnblogs.com/sdikerdong/p/2747883.html
Copyright © 2011-2022 走看看