主页
  新闻
    InfoJet Service
    InfoJet POM
    介绍
  代码属性
  代理类型
  DOM修改
  如何使用
  缩写代码
    InfoJet Rules
    InfoJet EditPart
    试用
  下载
  Java
    购买
  价格
  如何购买
    支持
  联系我们
InfoJet POM 介绍
为了支持InfoPath 2007/2010拖管表单代码,我们提供了Proxy Object Model(POM)来封装InfoPath 2007/2010和InfoJet Service对象模型的交集,这样表单代码可以在它们中运行。
提示:
InfoJet Service直接支持InfoPath 2003兼容表单代码,不需要为它们使用InfoJet POM。
详细请参考InfoJet Service 表单代码支持
InfoJet POM 如何工作?
例如,我们现在有下面的表单代码:
public partial class FormCode
{
    public void InternalStartup()
    {
        EventManager.XmlEvents["/my:myFields/my:field1"].Changed
            += new XmlChangedEventHandler(field1_Changed);
    }
    public void field1_Changed(object sender, XmlEventArgs e)
    {
        e.Site.InnerXml = e.Site.InnerXml.ToUpper();
    }
}
因为InfoJet Service不能直接实例化"FormClass"类型,所以我们需要将事件处理代码移动到一个静态的公共方法"On_field1_Changed"中, 并将事件参数封装在InfoJetSoft.POM.XmlFormHostItemProxy中:
public void field1_Changed(object sender, XmlEventArgs e)
{
    XmlFormProxy formProxy = new XmlFormProxy( this, sender, e );
    On_field1_Changed( formProxy );
}
[System.ComponentModel.Description("InfoJet POM, EventType=Changed, MatchPath=/my:myFields/my:field1")]
public static void On_field1_Changed(XmlFormProxy formProxy)
{
    formProxy.XmlEventSite.InnerXml = formProxy.XmlEventSite.InnerXml.ToUpper();
}
On_field1_Changed()上的DescriptionAttribute属性是必需的,这样InfoJet Service可以在表单事件触发时找到这个方法。
提示:
On_field1_Changed()必须是一个静态公共方法

关于InfoJet POM使用的DescriptionAttribute属性的更多信息,请参考代码属性
代理类型列出了"XmlFormProxy"支持的InfoPath object model API。

Copyright © 2005 - 2012 InfoJetSoft all rights reserved