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快速开发框 ...
随机推荐
- BizTalk开发系列(十) ESB Guidance安装笔记
ESB指导工具包(ESB Guidance)是一个运行于BizTalk Server 2006 R2之上的一个框架.详细信息访问ESB指导工具包社区网站 .源码下载 ESB Guidance的安装过程 ...
- IOS第一天多线程-05GCD队列的使用
************** // // HMViewController.m // 08-GCD02-队列的使用(了解) // // Created by apple on 14-9-15. // ...
- 【iCore3 双核心板】例程三十三:SD_IAP_ARM实验——更新升级STM32
实验指导书及代码包下载: http://pan.baidu.com/s/1jHmvQfk iCore3 购买链接: https://item.taobao.com/item.htm?id=524229 ...
- ThinkPHP 3.2.3 自动加载公共函数文件的方法
方法一.加载默认的公共函数文件 在 ThinkPHP 3.2.3 中,默认的公共函数文件位于公共模块 ./Application/Common 下,访问所有的模块之前都会首先加载公共模块下面的配置文件 ...
- centos安装配置amoeba以及测试
一.amoeba介绍网址:http://docs.hexnova.com/amoeba/ 二.安装java se1.5 三.安装amoeba2.2.01.下载地址:http://sourceforge ...
- [CC]Plugin-提取ISS3D关键点
基于CloudCompare开发的提取ISS3D关键点. void qLxPluginPCL::doISS3D() { assert(m_app); if (!m_app) return; const ...
- DuiLib学习笔记2——写一个简单的程序
我们要独立出来自己创建一个项目,在我们自己的项目上加皮肤这才是初衷.我的新建项目名为:duilibTest 在duilib根目录下面有个 Duilib入门文档.doc 我们就按这个教程开始入门 首先新 ...
- Gradle Cheat Sheet
加快编译速度 使用 gradle 2.4 及以上版本 ~/.gradle/gradle.properties 加入如下配置 org.gradle.daemon=true org.gradle.jvma ...
- erlang note
没有关于erlang interface ,继续寻找吧... --------------------------------------------------------------- erl - ...
- 使用Go开发web服务器
原文链接 Go(Golang.org)是在标准库中提供HTTP协议支持的系统语言,通过他可以快速简单的开发一个web服务器.同时,Go语言为开发者提供了很多便利.这本篇博客中我们将列出使用Go开发HT ...