1.  明细页数据源获取(基类已经处理)

重载GetEditData方法,此方法为自定义获得明细也的数据源,用于绑定明细页,此返回值会赋值给EditData

//根据主键获得数据编辑页的数据

publicoverrideDataSet GetEditData(string KeyValue)

{

return _bll.GetAllData(KeyValue);

}

2.  明细页数据源设置(基类已经处理)

在1中获取数据源以后,要进行明细页数据源绑定,重载DoBoundEditData方法,调用的数据源为EditData,基类已经集成处理,需要额外处理才

绑定例子:

LibraryTools.DoBindingEditorPanel(pan_Summary, EditData.Tables[_bll.SummaryTableName], "txt");

txxtPassword.EditValue = EditData.Tables[_bll.SummaryTableName].Rows[0][dt_MyUser.Password];

gc_Detail.DataSource = EditData.Tables[dt_MyUserRole._TableName];

//绑定明细编辑页的数据

publicoverridevoid DoBoundEditData()

{

base.DoBoundEditData();

}

3.  窗体基础权限配置(基类已经处理)

重载属性CurrentAuthority

protectedoverrideint CurrentAuthority

{

get

{

returnbase.CurrentAuthority;

}

}

该属性默认为:

return FunctionAuthorityCommon.VIEW//查看

+ FunctionAuthorityCommon.ADD//新增

+ FunctionAuthorityCommon.EDIT//修改

+ FunctionAuthorityCommon.DELETE//删除

+ FunctionAuthorityCommon.Save//保存

+ FunctionAuthorityCommon.Cancel;//取消

可以使用的基础功能来自FunctionAuthorityCommon类

属性

名称

ADD

新增

DELETE

删除

EDIT

修改

VIEW

查看

Save

保存

APPROVAL

审核

SaveAndClose

保存并关闭

PREVIEW

打印预览

Export

导出

Cancel

取消

Refresh

刷新

4.  窗体自定义权限操作按钮

重载IniButton,

publicoverridevoid IniButton()

{

AddButton(BarButtonNameCommon.VIEW, "查看", "View_32x32.png", FunctionAuthorityCommon.VIEW, "查看").ItemClick += DoView;

}

图标大小统一为32x32.png

5.  窗体状态(CurrentDataState)改变事件(基类已经处理)

//窗体状态改变后

protectedoverridevoid DataStateChanged(GZFramworkLibrary.CustomerEnum.FormDataState NewState)

{

base.DataStateChanged(NewState);

}

窗体状态:CurrentDataState为FormDataState枚举类型

属性

名称

None

没有状态

Search

查询状态

View

查看状态(明细页激活)

Add

新增状态

Edit

修改状态

6.  当窗体状态发生改变时改变明细页控件的可用状态(基类已经处理)

可以使用//LibraryTools.SetControlAccessable(tp_Edit, Edit);改变设置控件的可用状态

///<summary>

///设置按钮可用状态,如果已经在ControlOnlyReads或SetControlAccessable中添加,这里不需要重新设置

///</summary>

///<param name="Edit"></param>

protectedoverridevoid SetControlAccessable(bool Edit)

{

base.SetControlAccessable(Edit);

}

7.  操作事件列表

属性

名称

对应权限

DoView

查看

FunctionAuthorityCommon.VIEW

DoRefresh

刷新

FunctionAuthorityCommon.Refresh

DoAdd

新增

FunctionAuthorityCommon.ADD

DoDelete

删除

FunctionAuthorityCommon.DELETE

DoEdit

修改

FunctionAuthorityCommon.EDIT

DoSave

保存

FunctionAuthorityCommon.Save

DoSaveAndClose

保存并关闭

FunctionAuthorityCommon.SaveAndClose

DoApproval

审核

FunctionAuthorityCommon.APPROVAL

DoCancel

取消

FunctionAuthorityCommon.Cancel

DoPreview

打印预览

FunctionAuthorityCommon.PREVIEW

DoExport

导出数据

FunctionAuthorityCommon.Export

8.  界面图片尺寸规则

如图所示:

1:功能操作按钮图片,大小为32x32尺寸

2:模块功能小图标,尺寸大小为16x16,图片和4对应,图片相同(同名)大小不同

3:模块图标,尺寸大小为16x16

4:模块功能大图标,尺寸大小为64x64,图片和2对应,图片相同(同名)大小不同

其他:

l  1处的图标,如果是基础功能,图标不能修改,如果想替换,在Image下替换掉同名图标即可

l  3处的图标在模块的AssemblyInfo.cs中设置,图标只需设置名称,

比如人事管理图标为People_16x16.png, _16x16.png部分不必设置,设置例子为:[assembly: AssemblyModule("人事管理", "People")],

l  2处和4处的图标在功能窗体提供器中设置,从在FunctionPng属性,明明规则和3一样,比如用户管理图标为(小)Role_16x16.png和(大)Role_64x64.png

publicclassFunctionMyRole : ModuleFunctionBase

{

//设置功能图标,确保Images文件夹中拥有[FunctionPng]_16x16.png和[FunctionPng]_64x64.png

publicoverridestringFunctionPng { get { return"Role"; } }

publicoverrideForm LoadForm(Form MIDParent)

{

if (frmFun == null)

{

frmFun = newfrmMyRole();

if (MIDParent != null)

{

frmFun.MdiParent = MIDParent;

}

}

return frmFun;

}

}

l  3处的图标在窗体中添加(只有自定义功能按钮的时候才使用):

窗体需重载IniButton事件,

例子:

publicoverridevoid IniButton()

{

AddButton(BarButtonNameCommon.VIEW, "查看", "View_32x32.png", FunctionAuthorityCommon.VIEW, "查看").ItemClick += DoView;

}

9.  数据字典保存数据以后自动刷新缓存中的字典表

DataCache.CacheRefreshCache(TableName)

10.         简单模块添加步骤

10.1解决方案中添加新建项目

图一

图二

图三  将项目的属性做上图更改

图四引用的设置

10.2 更改项目版本信息并向功能展示界面添加各个功能

图一,更改版本信息

图二添加功能

10.3 系统管理员维护模块将新增的模块加入到系统

图一


图二  增加后的最总效果

附件下载:http://pan.baidu.com/s/1kTsZ4HL

关于GZFramwork快速开发框架

作者:GarsonZhang  QQ:382237285

唯一QQ交流群:288706356

欢迎提出您的宝贵意见

GZFramwork快速开发框架之窗体设计说明的更多相关文章

  1. GZFramwork快速开发框架演练之会员系统(二)添加字典模块

    开始前请先阅读 GZFramwork快速开发框架之窗体设计说明 第一步:准备模块图片 图片为2张大小分别为16x16和32x32,放在\Debug\images目录下    因为会员管理模块并不多   ...

  2. GZFramwork快速开发框架演练之会员系统(三)添加会员等级管理

    1.设计会员等级表结构 创建语句: from sysobjects where id = object_id('tb_MembersLevel') and type = 'U') drop table ...

  3. GZFramwork快速开发框架演练之会员系统(四)添加商品管理

    1.1:创建表结构 新建三张商品关联的表,表模型如下: 创建SQL语句略 1.2:生成表Model(生成方法见上一节) 1.3:生成tb_ProductType的单结构界面然后添加到项目中 1.4:修 ...

  4. GZFramwork快速开发框架演练之会员系统(一)框架源码下载

    GZFramwork框架开发环境为.NET 4.0 (必须)   VS2013+SQL2005+DevExpress v13.2.8+FastReport (推荐)  数据库建模工具PowerDesi ...

  5. FastFrameWork 快速开发框架

    前言 FastFrameWork 快速开发框架是一款基于敏捷并行开发思想和Microsoft .Net构件(插件)开发技术而构建的一个快速开发应用平台.用于帮助中小型软件企业建立一条适合市场快速变化的 ...

  6. ABP开发框架前后端开发系列---(14)基于Winform的ABP快速开发框架

    前面介绍了很多ABP系列的文章,一步一步的把我们日常开发中涉及到的Web API服务构建.登录日志和操作审计日志.字典管理模块.省份城市的信息维护.权限管理模块中的组织机构.用户.角色.权限.菜单等内 ...

  7. CRL快速开发框架系列教程十三(嵌套查询)

    本系列目录 CRL快速开发框架系列教程一(Code First数据表不需再关心) CRL快速开发框架系列教程二(基于Lambda表达式查询) CRL快速开发框架系列教程三(更新数据) CRL快速开发框 ...

  8. CRL快速开发框架系列教程十二(MongoDB支持)

    本系列目录 CRL快速开发框架系列教程一(Code First数据表不需再关心) CRL快速开发框架系列教程二(基于Lambda表达式查询) CRL快速开发框架系列教程三(更新数据) CRL快速开发框 ...

  9. CRL快速开发框架系列教程十一(大数据分库分表解决方案)

    本系列目录 CRL快速开发框架系列教程一(Code First数据表不需再关心) CRL快速开发框架系列教程二(基于Lambda表达式查询) CRL快速开发框架系列教程三(更新数据) CRL快速开发框 ...

随机推荐

  1. Java Web(转)

    struts2+spring+hibernate 上传文件 关 键字: s2sh 上传文件 struts2 spring hibernate 前段时间,我用struts2.1.6.spring2.5. ...

  2. document获取节点byTagName

    /* *对于页面中的超链接,新闻链接通过新窗口打开 *当然是要获取其中被操作的超链接对象. *可是通过Document获取超链接,拿到的是页面中所有的超链接节点. *只想获取一部分如何办呢? *只要获 ...

  3. Java封装

    面向对象的三大特征:封装.继承.多态.封装在书面上来说,他无非就是set和get方法罢了.为什么要用到封装,比如买主机如果没有机箱只有内存条.CPU.主板等等那些零件买回到家,你还得一个个的去装那些零 ...

  4. Code Snippet

    Code Snippet: http://msdn.microsoft.com/en-us/library/z41h7fat.aspx CodePlex.Snippets 4.0 - Visual S ...

  5. 一键发布ASP.NET Web安装程序

    转载自:http://www.cnblogs.com/nangong/p/Web.html        前言:最近公司有个Web要发布,但是以前都是由实施到甲方去发布,配置,这几天有点闲,同事让我搞 ...

  6. DDoS deflate+iptables防御轻量级ddos攻击

    一.查看攻击者ip #netstat -ntu | awk '{print $5}' | cut -d: -f1 | sort | uniq -c | sort -n 二.安装ddos deflate ...

  7. 应该具备的调试技能(java)

    ------Java部分---------- 1. tomcat在eclispe中怎样启动调试模式2. 带有main方法的Java应用程序怎样启动调试模式3. 调试在eclispe中的快捷键 F5 F ...

  8. Django:使用PyCharm创建django项目并发布到apache2.4

    环境: python2.7 x64 win7 x64 django (通过pycharm创建时自动安装)版本:1.10.2 apache:2.4 x64 下载pycharm个人版非社区版本并激活 起初 ...

  9. 向ES6看齐,用更好的JavaScript(三)

    本文是ES6系列的第三篇,主要介绍ES6新增的数据类型.数据结构,先上传送门: 1 变量部分 2 现有对象拓展 3 新增数据类型/数据结构 4 新的异步编程模式 5 类和模块 1 第七种数据类型Sym ...

  10. 时光煮雨 Unity3D实现2D人物动画① UGUI&Native2D序列帧动画

    系列目录 [Unity3D基础]让物体动起来①--基于UGUI的鼠标点击移动 [Unity3D基础]让物体动起来②--UGUI鼠标点击逐帧移动 时光煮雨 Unity3D让物体动起来③—UGUI DoT ...