InfoPath中repeationg section动态填充数据

项目
后台使用的是基于InfoPath的后台管理系统。后台主要是生成CMS系统需要的XML文件,但是有的内容和其他的内容有关联。为了减少编辑人员的操作
难度,所有相关的内容,都需要自定义开发InfoPath,支持动态加载关联的数据内容。InfoPath界面如下:

Insert
Type和Content Type是从Config DataObject里面动态读取,content type右边的字段是根据content
type左边的字段来过滤显示内容了。这个字段是通过Detail DataObject来读取的。conent type右边的字段是一个drop
list box,也就是dropdown list下拉框。通过选择不同的字段,填充下面的title,abstract,以及最下面的Image
Url和Image Tooltip。这个四个字段的数据是动态从RelatedContent
DataObject中读取的。因为整个的大的section可以重复,所以最开始实现起来,问题还是蛮多的。主要使用到了current()函数,后续
博客里面将介绍,如何在repeating section中是使用current()函数,达到指定的section绑定不同的数据。

 

通过
使用current()函数,title,abstact,image url和image
tooltip都可以正常的填充数据,但是保存好infopath之后,用户重新打开,发现前面提到的四个字段都为空,因为我是对这个四个字段动态绑定
RelatedContent数据源,并且是根据id(content
type右边的那个字段)来筛选显示数据的。但是不知道为什么,infopath保存不了上述四个字段值。我最后找到一个比较简陋的办法时,将那四个字段
复制一份,名称都以Populate开始,就是这四个字段使用current()函数去动态加载数据,而正常的title,abstract,image
url和image tooltip不去动态加载数据,和普通的infopath字段一样。然后需要用户最后点击最下面的“Binding
Data”按钮,然后将Populate的值全部复制到普通的四个字段中。这样得以保存infopath中的数据。

 

“Binding Data”按钮事件的内部代码如下:

e.Source.selectSingleNode("title").text=e.Source.selectSingleNode("populatetitle").text; e.Source.selectSingleNode("abstract").text=e.Source.selectSingleNode("populateabstract").text; e.Source.selectSingleNode("image/@url").text=e.Source.selectSingleNode("image/@populateurl").text; e.Source.selectSingleNode("image/@tooltip").text=e.Source.selectSingleNode("image/@populatetooltip").text;

本身Main Source的xml结构如下:

<root> <contentItems configXML=""> <content inserttype="" contenttype="" id=""> <title></title> <abstract></abstract> <link url="" target=""></link> <image url="" tooltip=""></image> </content> <content inserttype="" contenttype="" id=""> <title></title> <abstract></abstract> <link url="" target=""></link> <image url="" tooltip=""></image> </content> <content inserttype="" contenttype="" id=""> <title></title> <abstract></abstract> <link url="" target=""></link> <image url="" tooltip=""></image> </content> </contentItems> </root>

 

 

 

时间: 2025-01-30 08:40:32

InfoPath中repeationg section动态填充数据的相关文章

派生列-ssis 中转换问题,在表中加列并填充数据

问题描述 ssis 中转换问题,在表中加列并填充数据 初学SSIS 我在数据流中,为数据源加了两个派生列,一个是时间戳,这个没问题,另一个列我想用另外一张表的某条记录的值来填充,要怎样实现?是不是不能用派生列? 应该用哪种转换方式?

InfoPath中repeating section中赋值操作

最 近项目需要自定义开发InfoPath Template,之前项目中只需要修改一些字段,所以觉得还是比较简单.只是InfoPath调试环境真的很不方便,必须每次开发好的InfoPath 发布到SharePoint Server,然后在在线打开,调用本地InfoPath2007/InfoPath 2010/InfoPath2013的程序打开.所以这样想看一下自己开发的结果,还是要等几分钟.不知道InfoPath有本地的 Server,Visual Studio调试可以直接本地打开.xsn文件.

在PowerPoint中实现表格的动态填充

我比较喜欢使用PowerPoint来制作课件,一次一位化学老师让我帮他解决这样的问题:利用PowerPoint展示一张空表,然后随着实验的进展动态地填写表格. 由于在PowerPoint中插入的表格一般是Word中的表格或Excel工作表,这种表格是一个整体,所以不能对单元格中的内容进行动态设置.我通过反复实践,问题得到了解决,具体方法如下: 1.手工绘制表格 单击"绘图"工具栏的[直线]按钮,在需要插入表格的幻灯片上手工绘制表格. 2.填写表格 单击"绘图"工具栏

Java中ResultSet数据自动填充到类中&amp;amp;类实例填充PreparedStatement

需求: (1)提取ResultSet中值到一个类中挺麻烦的,需要new一个变量,使用对应成员的Set方法赋值,能不能根据类的Class,直接提取出ResultSet中的数据,最后返回实例化的类? (2)可以用PreparedStatement预编译带变量的sql语句,在execute之前需要将变量值填充进去,一个一个设置太麻烦了,能不能提供一个类变量,使用类成员变量的值自动填充PreparedStatement? 这样的功能许多开源的框架可以实现,但是不想因为这么一点点的需求去学习那么庞大的一套

MVC中使用Knockout,json获取数据成功后,遍历填充视图模型时,代码不执行怎么回事

问题描述 MVC中使用Knockout,json获取数据成功后,遍历填充视图模型时,代码不执行怎么回事 function AppViewModel() { var self = this; self.brandstandards = ko.observableArray(); self.cart = ko.observableArray(); self.orders = ko.observableArray(); function BrandStandardViewModel(firstself

填充数据到word模板中

昨天写了一篇博客,是导出word模板的. 今天来说一下如何填充数据到模板中. 先上图,合同: 需要在指定需要填充数据的位置,添加标识,这只是初步的标识, 然后,另存为xml格式,会发现,这些标识,可能会发生转义(因为字体,颜色,加粗,下划线等等因素).如图下: 然后在xml文件中,找到对应标识的位置,改成如下格式. ${zpmc?if_exists} 修改后的为: 因为,可能由于数据的问题,某些字段数据并不存在,所以,要在后面加上    ?if_exists 然后,代码如下: package c

java-怎样在easyui中的datagrid的列中添加combobox并动态获取数据到combobox中?

问题描述 怎样在easyui中的datagrid的列中添加combobox并动态获取数据到combobox中? <table id="data" class="easyui-datagrid" style="width:700px;height:250px" url="getAllServer.do" data-options="pageSize:5 ,pageList: [3,5,10]" tool

struts中的ActionForm实例化、填充数据的过程是怎样的?

问题描述 初学struts有一个困惑,ActionForm类地实例化,然后填充数据的发送给Action处理的过程是由什么来控制的?也就是说JSP页面提交表单之后到Action类执行execute方法之间有什么具体过程?望高手指教! 解决方案 解决方案二:ActionServlet来搞的.而ActionServlet又是一个HttpServlet,是由容器搞的,所以本质上还是容器搞的.过程:Browser提交URL---->Web容器通过web.xml配置的URL类型拦截----->转发给Act

怎么往给定的excel模板中填充数据啊???

问题描述 怎么往给定的excel模板中填充数据啊??? 怎么往给定的excel模板中填充数据啊,excel比较复杂,大概两三张,求java代码,,,