GZFramwork快速开发框架之窗体设计说明
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快速开发框架之窗体设计说明的更多相关文章
- GZFramwork快速开发框架演练之会员系统(二)添加字典模块
开始前请先阅读 GZFramwork快速开发框架之窗体设计说明 第一步:准备模块图片 图片为2张大小分别为16x16和32x32,放在\Debug\images目录下 因为会员管理模块并不多 ...
- GZFramwork快速开发框架演练之会员系统(三)添加会员等级管理
1.设计会员等级表结构 创建语句: from sysobjects where id = object_id('tb_MembersLevel') and type = 'U') drop table ...
- GZFramwork快速开发框架演练之会员系统(四)添加商品管理
1.1:创建表结构 新建三张商品关联的表,表模型如下: 创建SQL语句略 1.2:生成表Model(生成方法见上一节) 1.3:生成tb_ProductType的单结构界面然后添加到项目中 1.4:修 ...
- GZFramwork快速开发框架演练之会员系统(一)框架源码下载
GZFramwork框架开发环境为.NET 4.0 (必须) VS2013+SQL2005+DevExpress v13.2.8+FastReport (推荐) 数据库建模工具PowerDesi ...
- FastFrameWork 快速开发框架
前言 FastFrameWork 快速开发框架是一款基于敏捷并行开发思想和Microsoft .Net构件(插件)开发技术而构建的一个快速开发应用平台.用于帮助中小型软件企业建立一条适合市场快速变化的 ...
- ABP开发框架前后端开发系列---(14)基于Winform的ABP快速开发框架
前面介绍了很多ABP系列的文章,一步一步的把我们日常开发中涉及到的Web API服务构建.登录日志和操作审计日志.字典管理模块.省份城市的信息维护.权限管理模块中的组织机构.用户.角色.权限.菜单等内 ...
- CRL快速开发框架系列教程十三(嵌套查询)
本系列目录 CRL快速开发框架系列教程一(Code First数据表不需再关心) CRL快速开发框架系列教程二(基于Lambda表达式查询) CRL快速开发框架系列教程三(更新数据) CRL快速开发框 ...
- CRL快速开发框架系列教程十二(MongoDB支持)
本系列目录 CRL快速开发框架系列教程一(Code First数据表不需再关心) CRL快速开发框架系列教程二(基于Lambda表达式查询) CRL快速开发框架系列教程三(更新数据) CRL快速开发框 ...
- CRL快速开发框架系列教程十一(大数据分库分表解决方案)
本系列目录 CRL快速开发框架系列教程一(Code First数据表不需再关心) CRL快速开发框架系列教程二(基于Lambda表达式查询) CRL快速开发框架系列教程三(更新数据) CRL快速开发框 ...
随机推荐
- IOS第八天(7:UITableViewController新浪微博,cell 复用的简单写法优化和cell高度从模型中获取)
*********** #import "HMViewController.h" #import "HMStatus.h" #import "HMSt ...
- C#中 MD5和SHA1加密代码
Pwd = FormsAuthentication.HashPasswordForStoringInConfigFile(entity.Pwd, "MD5"); Pwd = For ...
- Thinking in Java——笔记(7)
Reusing Classes The first is composition,You're simply reusing the functionality of the code, not it ...
- CocoaPods 学习
参考文章 git address 1.简绍:CocoaPods是一个负责管理iOS项目中第三方开源代码的工具. 2.安装过程: $ sudo gem install cocoapods $ pod s ...
- windows的Timer和写文件方式串口注意!
1.Timer要读取并分发消息,才能触发自定义回调函数 SetTimer(NULL, 1, 40, (TIMERPROC)TimerProc); while(GetMessage(&msg, ...
- http://www.blogjava.net/xylz/archive/2013/08/05/402405.html
http://www.blogjava.net/xylz/archive/2013/08/05/402405.html
- RML Utilities for SQL Server
很早以前有看到过关于使用RML Utilities工具分析SQL Trace(.trc)的文章,但一直没有具体实践.最近接管一台数据库服务器,跟踪出一批高消耗的语句,老大需要跟踪分析报表,罗列出过程( ...
- 安装eclipse与pydev
按照此文档 最简单的eclipse安装方法 sudo apt-get install eclipse 弊端:因为ubuntu默认安装的不是最新版本的eclipse,所以你也不能安装最新的pydev. ...
- TCP中异常关闭链接的意义 异常关闭的情况
终止一个连接的正常方式是发送FIN. 在发送缓冲区中 所有排队数据都已发送之后才发送FIN,正常情况下没有任何数据丢失. 但我们有时也有可能发送一个RST报文段而不是F IN来中途关闭一个连接.这称为 ...
- Latex常用指令学习
1:\begin{}与\end{}的用法 2:\textcolor{red}{\fangsong\zihao{2}汉字:} 3:\newpage 新的一页 4:\heiti\zihao{4}\bf{ ...