如何将现有字段信息添加到新添加的infoPath文本框中?

时间:2011-12-19 18:45:16

标签: sharepoint sharepoint-2007 infopath infopath-2007

当我向表单添加字段时,如何在旧字段的基础上预填充InfoPath表单中的新字段。

在我的InfoPath表单中,我有一个名为“Description”的字段名称。现在我添加了另一个名为“SummaryDescription”的字段。假设从“描述”字段中取出前10个单词。

即使我添加了字段和逻辑,SharePoint数据库中的现有表单数据也不会被修改。


修改

@PatrickPitre

非常感谢您的快速反应。

我正在处理基于Web的InfoPath表单(Forms Services)。是的我在我的计算机上安装了Visual Studio 2008。

我需要做的一件事就是修改现有的基于Web的InfoPath表单,即向旧表单添加三个字段。添加字段后,我需要确保当用户单击已存在于Sharepoint中的现有表单时,这些新添加的字段不为空。我必须在现有字段中的前200个单词中说“描述”并将其插入新字段“SummaryDescription”。

到目前为止我做了什么:

  1. 我将这三个新字段添加到基于Web的InfoPath表单中,并将其发布到测试服务器中。我能够在现有表单中查看新添加的字段。

  2. 我正在尝试使用InfoPath中的规则来帮助我实现我需要做的事情。我检查新添加的字段是否为空。如果是,则取“SummaryDescription”中的字段并添加值。

  3. 这是代码:

    concat(
    substring((string-length(Description)), 1, ((string-length(Description)) <= 200) * (string-length(Description))), 
    substring(number(201), 1, (not(string-length(Description))) * number(201))
    ) 
    

    但我根本无法将该值添加到该字段中。

    这是我所做的屏幕截图。

    enter image description here

    我尝试了很多不同的方法。而且我很确定“SummaryDescription”是空白但我无法获得显示的值

    “Sharepoint数据库”是什么意思?我认为基于Web的InfoPath表单中的所有内容都存储在某种数据库中。如我错了请纠正我。

    非常感谢你。

1 个答案:

答案 0 :(得分:0)

只需扩展InfoPath表单的架构和逻辑,就不会表示任何预先存在的数据(填充表单)将自动升级。

你有几个选择

  • 使用XSLT或自定义升级应用程序处理现有XML表单以转换XML;
  • 使用表单代码隐藏中的VersionUpgrade事件来执行任何升级步骤。

主要区别在于,在第一种情况下,您可以进行批量升级,而在后一种情况下,可以在打开现有表单时按需查看。