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快速开发框 ...
随机推荐
- 将CachedRowSet中的数据转储到对象中
虽然还有很多bug,但凑合能用,就是将CachedRowSet中的数据转换成对象或List.省去了繁琐难看的一系列get/set方法. 先说调用: 注: cachedRowSet是查询的结果集 Stu ...
- jquery无法修改网页标题,无法修改网页标题
今天遇到一个问题,搜索时动态修改网页标题,用jquery的这段代码无效,无论FF还是IE $("title").html("new title"); 后来只好用 ...
- Memcached 笔记与总结(8)Memcached 的普通哈希分布算法和一致性哈希分布算法命中率对比
准备工作: ① 配置文件 config.php ② 封装 Memcached 类 hash.class.php,包含普通哈希算法(取模)和一致性哈希算法 ③ 初始化 Memcached 节点信息 in ...
- 多维数组问题 int (*a)[] int []
今天做调整方阵这道题: 第一遍提交没有通过, 又gdb 重新温故了 交换二维数组中的两行数据: void swap(int *a, int *b) { int t = *a; *a = *b; *b ...
- EntityFramework code first 一些常用的约束特性
参阅: https://msdn.microsoft.com/zh-cn/data/jj591583 1. 主键 public class Test { //名称为 ID 的属性会自动映射为主键(自增 ...
- 《Linux内核分析》第二周 操作系统是如何工作的?
[刘蔚然 原创作品转载请注明出处 <Linux内核分析>MOOC课程http://mooc.study.163.com/course/USTC-1000029000] WEEK TWO(2 ...
- 菜菜CPP日记
分支预测建议: http://www.cppblog.com/mysileng/archive/2014/09/29/208454.html #ifndef likely #define likely ...
- ios之json,xml解析
JSON解析步骤: 1.获取json文件路径 NSString*path = [[NSBundle mainBundle] pathForResource:@"Teacher"of ...
- Unit06 - 抽象类、接口和内部类(下) 、 面向对象汇总
Unit06 - 抽象类.接口和内部类(下) . 面向对象汇总 1.多态: 1)意义: 1.1)同一类型的引用指向不同的对象时,有不同的实现 行为的多态:cut().run(). ...
- Matlab代码备忘
1.Matlab写入文件 set(hp1,'xdata',bbb(1,:),'ydata',bbb(2,:),'zdata',bbb(3,:)); M=size(bbb,2); name=strca ...