首页 文章

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

提问于
浏览
1

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

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

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


Edit

@PatrickPitre

非常感谢您的快速反应 .

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

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

到目前为止我做了什么:

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

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

这是代码:

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

But I'm not able to add the value to the field at all.

这是我所做的屏幕截图 .

enter image description here

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

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

非常感谢你 .

1 回答

  • 0

    仅通过扩展InfoPath表单的架构和逻辑,并不意味着任何预先存在的数据(填充表单)将自动升级 .

    你有几个选择

    • 使用XSLT或自定义升级应用程序处理现有XML表单以转换XML;

    • 在表单的代码隐藏中使用VersionUpgrade事件来执行任何升级步骤 .

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

相关问题