我需要创建一个pdf表单,您可以在其中单击xml数据源中的不同记录,类似于ODBC version shown here。
对于ODBC,使用了以下API:
xfa.sourceSet.DataConnection.last();
xfa.sourceSet.DataConnection.first();
xfa.sourceSet.DataConnection.previous();
xfa.sourceSet.DataConnection.next();
xfa.sourceSet.DataConnection.addNew();
xfa.sourceSet.DataConnection.delete();
但xfa.sourceSet不适用于XML数据连接(至少在ES4中)。
如何使用XML数据源创建相同的功能?
<?xml version="1.0" encoding="UTF-8"?>
<bookstore>
<book category="cooking">
<title lang="en">Everyday Italian</title>
<author>Giada De Laurentiis</author>
</book>
<book category="children">
<title lang="en">Harry Potter</title>
<author>J K. Rowling</author>
</book>
<book category="web">
<title lang="en">XQuery Kick Start</title>
<author>James McGovern</author>
</book>
<book category="web" cover="paperback">
<title lang="en">Learning XML</title>
<author>Erik T. Ray</author>
</book>
</bookstore>
如果我手动将子窗体book
的绑定(屏幕截图中的蓝色箭头显示)更改为$record.book[1]
,则生成的pdf中会显示第二条记录的详细信息。是否可以通过javascript更改绑定?
以下是指向copy of the form和the xml的链接。
答案 0 :(得分:0)
表单在首次呈现时被绑定,因此通过Javascript更改绑定的值不起作用。
一些替代方案:
重复子窗体并将Javascript放在按钮上以隐藏除相关实例之外的所有实例。
将书籍数据绑定到单独的隐藏重复子表单,并使用Javascript填充隐藏子表单的相关实例中的字段。
根本不绑定子表单并使用Javascript直接访问数据模型以填充字段。