|
|
|
|
使用InfoJet POM时,需要在代码中添加特定的DescriptionAtribute属性到代码中来标记
InfoJet Service需要的类和方法。
|
|
|
表单Loading事件处理方法由EventType=Loading属性指定,这个处理方法必须一个公共静态方法。
public void InternalStartup()
{
EventManager.FormEvents.Loading
+= new LoadingEventHandler(FormEvents_Loading);
}
public void FormEvents_Loading(object sender, LoadingEventArgs e)
{
XmlFormProxy formProxy = new XmlFormProxy( this, sender, e );
On_FormEvents_Loading( formProxy );
}
[System.ComponentModel.Description("InfoJet POM, EventType=Loading")]
public static void On_FormEvents_Loading(XmlFormProxy formProxy)
{
XPathNavigator field3 = formProxy.CreateMainDataSourceNavigator().SelectSingleNode("/my:myFields/my:field3", formProxy.NamespaceManager);
field3.InnerXml = field3.InnerXml.ToUpper();
}
|
|
|
EventType=Changed属性用于按钮的ClickedEvent处理方法,这个处理方法必须是一个静态公共方法。
MatchPath的值是当前按钮的ControlId。
public void InternalStartup()
{
((ButtonEvent)EventManager.ControlEvents["CTRL2_5"]).Clicked
+= new ClickedEventHandler(CTRL2_5_Clicked);
}
public void CTRL2_5_Clicked(object sender, ClickedEventArgs e)
{
XmlFormProxy formProxy = new XmlFormProxy( this, sender, e );
On_CTRL2_5_Clicked( formProxy );
}
[System.ComponentModel.Description("InfoJet POM, EventType=Clicked, MatchPath=CTRL2_5")]
public static void On_CTRL2_5_Clicked(XmlFormProxy formProxy)
{
XPathNavigator field2 = formProxy.CreateMainDataSourceNavigator().SelectSingleNode("/my:myFields/my:field2", formProxy.NamespaceManager);
field2.InnerXml = field2.InnerXml.ToUpper();
}
|
|
|
EventType=Changed属性用于字段的XmlChangedEvent处理方法,这个处理方法必须是一个静态公共方法。
同时需要添加MatchPath属性,MatchPath的值必须是当前字段的XPath绝对路径。
public void InternalStartup()
{
EventManager.XmlEvents["/my:myFields/my:field1"].Changed
+= new XmlChangedEventHandler(field1_Changed);
}
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();
}
|
|
|
EventType=Validating属性用于字段的XmlValidatingEvent处理方法,这个处理方法必须是一个静态公共方法。
同时需要添加MatchPath属性,MatchPath的值必须是当前字段的XPath绝对路径。
public void InternalStartup()
{
EventManager.XmlEvents["/my:myFields/my:field1"].Validating
+= new XmlValidatingEventHandler(field1_Validating);
}
public void field1_Validating(object sender, XmlValidatingEventArgs e)
{
XmlFormProxy formProxy = new XmlFormProxy( this, sender, e );
On_field1_Validating( formProxy );
}
[System.ComponentModel.Description("InfoJet POM, EventType=Validating, MatchPath=/my:myFields/my:field1")]
public static void On_field1_Validating(XmlFormProxy formProxy)
{
XPathNavigator currentSite = formProxy.XmlValidatingEventSite;
formProxy.ReportError(currentSite, "error message");
}
|
|