none
infopath2010 级联字段的实现 RRS feed

  • 问题

  • 大侠好。

    我这里的一个infopath表单内有报销类型的字段,需要级联,也就是说选择报销大类后继续选择相应的报销小类。我在网上查阅了相关资料并且也实现了该功能。实现的方法是通过infopath连接辅助数据源(sharepoint内的费用类型列表)。但这样也产生了一些问题:

    1 因为表单填写者需要有该辅助数据源也就是sharepoint内列表的只读权限才能正常选择报销类型。也就是说用户可以通过网页的方式去浏览到这个列表的全部。这是我所不希望用户看到的。

    2 该辅助数据源需设置成每次打开表单时自动检索数据或者是设置个按钮触发检索,才能让用户正常访问。这样就降低了表单的打开速度和使用性能。

    有没有一种更好的方法可以实现级联功能呢? 如果辅助数据源是xml文档资源文件的话是否会让表单的性能提高或者是离线填写呢?我对xml做辅助数据源不大懂,只是看到网上有人做过币种下拉菜单选择,数据来源于一个xml文档辅助数据源。

    请大侠赐教。


    chengli

    2012年5月10日 6:07

答案

  • 如果你的这个设置基本不会有太大变动的话,你可以考虑用Xml数据源

    在父级字段Xml形式可以类似于:<Parents><P Name='P1'/><P Name='P2'/><P Name='P3'/></Parents>

    子级字段Xml形式可以类似于:<Children><C Name='C1' P='P1'/><C Name='C2' P='P1'/></Children>

    这种方式也可以实现级联

    或者你也可以把这个数据放到数据库的两张表里,做一个主外键的关联(InfoPath只支持SQL Server),也可以

    区别都是只在于加数据源的时候,创建级联都是一样的方法

    2012年5月14日 7:46

全部回复

  • 如果你的这个设置基本不会有太大变动的话,你可以考虑用Xml数据源

    在父级字段Xml形式可以类似于:<Parents><P Name='P1'/><P Name='P2'/><P Name='P3'/></Parents>

    子级字段Xml形式可以类似于:<Children><C Name='C1' P='P1'/><C Name='C2' P='P1'/></Children>

    这种方式也可以实现级联

    或者你也可以把这个数据放到数据库的两张表里,做一个主外键的关联(InfoPath只支持SQL Server),也可以

    区别都是只在于加数据源的时候,创建级联都是一样的方法

    2012年5月14日 7:46
  • hi, 大侠好

    谢谢上面的指点,不过我愚钝还不是很明白。比如我这里有‘通讯费’一个大类,选择了通讯类后,要能出现它的小类‘手机’和‘固话’, 那么如何以父子级字段xml形式表示呢?

    万分感谢!!


    chengli

    2012年5月15日 6:50