资源描述
VFD表单系统基本介绍1VFD表单系统页面开发2VFD表单系统插件开发3VFD表单系统基本介绍13VFD表单系统系统框架Database:数据库层,由MapGIS平台提供的数据支持,以及工作流的支持,包括各种功能仓库、数据仓库等;VFD Data Service:VFD数据服务,MapGIS平台提供的VFDService存储自定义表单相关的数据(数据库地址,端口号、VFD服务地址、用于表单显示的虚拟目录地址等信息);Visual Form Designer:设计开发表单;VFD Form Service:VFDWebServer服务,解析表单文件,供WEB上显示。4表单系统运行过程VFDVFD文档文档VFD设计器aspxaspx文档文档htmlhtml文档文档浏览器数据库VFD运行解析VFD设计时VFD运行时ASP.NET运行时客户端VFD DataServiceVFD表单系统页面开发26表单页面设计(草图)7表单页面设计8表单页面部署与运行把VFD文件拷贝到运行环境中的任意目录下即可访问。VFD表单系统插件开发310表单插件体系VFD表单插件的分类:表单插件包括系统级插件、页面插件两种类型,两种插件在实现方式上是一致的,在执行方式上有所不同。系统插件:所有VFD页面请求时都会执行页面插件:在VFD页面中的事件发生时执行11插件实现与部署VFD表单插件的实现:创建一个类,实现Visual_Form_Designer.Class.Ifunction 接口即可,在表单设计器上可以通过“新建插件”菜单创建空的插件模板,在其中填充方法即可。编辑完毕之后编译为dll程序集,然后部署运行。VFD表单插件的部署:设计时部署在FrameBuilderVisual Form DesignerFunction目录测试时部署在FrameBuilderVFDWebServerVFDFunction目录运行时部署在FrameBuilderfw2005VFDFunction目录 12实例开发过程演示实例开发过程演示检查页面控件录入值是否已存在检查页面控件录入值是否已存在插件开发插件开发以在Microsoft Visual Studio(以下简称VS)中开发为例第一步:打开VS,文件-新建-项目,弹出如图所示对话框输入名称及位置,单击确定;第二步:添加引用,先引用“System.Web.dll”输入名称及位置,单击确定;再引用“VFDInterface.dll”(在K9搭建平台安装路径下的program文件夹下)第三步:引入插件开发模板,参见搭建平台帮助文档7.3小节,表单插件开发部分,将开发模板复制粘贴到VS中刚才新建的项目中;注意:增加引用语句:using System.Collections;using Visual_Form_Designer.Class;using System.Data;在代码段后增加自己编写的业务代码(验证指定数据库表是否存在已有记录),在此代码段:public bool Exec(System.Web.UI.Page _Page,System.Web.HttpContext _Context,Visual_Form_Designer.Class.VFDServiceObject _Service,Visual_Form_Designer.Class.WebPageConfig _WebPageConfig,System.Collections.Hashtable ParamaterList,object _CustomObject)return true;在此后增加业务代码,例如:public bool CheckCustomerNameIsValid(Page _Page,HttpContext _Context,VFDServiceObject _Service,WebPageConfig _WebPageConfig,Hashtable ParamaterList,object _CustomObject)TextBox box=(TextBox)_Page.FindControl(txtCustomerName);string format=alert(0);if(box=null)this.m_ErrorMsg=找不到ID为“txtCustomerName”的文本框控件;format=string.Format(format,this.m_ErrorMsg);_Page.Response.Write(format);return true;string str2=box.Text.Trim();if(string.IsNullOrEmpty(str2)this.m_ErrorMsg=“申请用地单位输入为空;format=string.Format(format,this.m_ErrorMsg);_Page.Response.Write(format);return true;string str3=SELECT*FROM MapGISEgovTRAIN.dbo.建设用地审批 where 用地申请单位=0;str3=string.Format(str3,str2);DataTable dataTable=_Service.GetDataTable(str3,ref this.m_ErrorMsg);string str4=;if(dataTable.Rows.Count 0)str4=存在相同记录!;format=string.Format(format,str4);_Page.Response.Write(format);else str4=“不存在相同记录!;format=string.Format(format,str4);_Page.Response.Write(format);return true;注意:因为此业务代码涉及参数m_ErrorMsg,故需定义该参数,即增加代码:private string m_ErrorMsg;增加在代码行private string ErrorMsg=“”;第四步:F5调试代码是否存在错误,调试无误后,在项目名称上鼠标右键,选择生成,即可编译生成DLL文件;最后一步:到项目路径framebuildersampleMapgisOA.Plunge_In.CommonMapgisOA.Plunge_In.CommonbinDebug文件夹下找到刚生成的插件:MapgisOA.Plunge_In.Common.dll将此插件拷贝到路径:MapGIS K9 SP2FrameBuilderVisual Form DesignerFunction,即可在表单设计时调用此插件;将此插件拷贝到路径:FrameBuilderVFDWebServerVFDFunction即可在表单测试时预览插件执行效果;将此插件拷贝到路径:FrameBuilderfw2005VFDFunction表单在框架主页中运行时需要。
展开阅读全文