(转)如何编程访问infopath字段

XmlForm 类是 InfoPath 托管代码对象模型中的关键对象,该对象提供的属性、方法以及事件可以用来以编程方式与表单的基础 XML 文档中的 XML 数据进行交互,并操作这些数据。在大多数方面,XmlForm 类与 InfoPath 脚本 (COM) 的 XDocument 对象以及与 InfoPath 2003 兼容的 (Microsoft.Office.InfoPath.SemiTrust) 对象模型等效。

虽然可以使用 Application 类的 XmlForms 属性从 XmlFormCollection 类中访问 XmlForm 对象,但在使用表单模板业务逻辑的大多数情况下,将使用 C# 中的 this 关键字或 Visual Basic 中的 Me 关键字来访问 XmlForm 类及其成员,而不通过集合进行访问。

例如,Loading 事件的事件处理程序的以下代码示例使用 this 关键字或 Me 关键字来访问 XmlForm 类的 MainDataSourceNamespaceManager 属性。这些属性与 System.Xml.XPath.XPathNavigator 类的实例一起使用以导航到 employee 域(使用 NamespaceManager 属性解析命令空间前缀),以及将该域设置为当前用户的用户名。

public void FormEvents_Loading(object sender, LoadingEventArgs e)
{
   // Create XPathNavigator positioned at the root of the main data
   // source.
   XPathNavigator myNav = this.MainDataSource.CreateNavigator()

   // Select employee field and set value to username.
   myNav.SelectSingleNode("//my:employee",this.NamespaceManager).
      SetValue(System.Environment.UserName);
posted @ 2010-01-06 17:38  玛雅人  阅读(343)  评论(0编辑  收藏  举报