主页
  新闻
    InfoJet Service
    InfoJet POM
  介绍
  代码属性
  代理类型
  如何使用
    InfoJet Rules
    InfoJet EditPart
    InfoJet QuickFill
    试用
  下载
  Java
    购买
  价格
  如何购买
    支持
  联系我们
InfoJet POM 介绍
为了支持InfoPath 2007表单代码,我们提供了Proxy Object Model(POM)来封装InfoPath 2007和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 - 2010 InfoJetSoft all rights reserved