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. IOS第八天(7:UITableViewController新浪微博,cell 复用的简单写法优化和cell高度从模型中获取)

    *********** #import "HMViewController.h" #import "HMStatus.h" #import "HMSt ...

  2. C#中 MD5和SHA1加密代码

    Pwd = FormsAuthentication.HashPasswordForStoringInConfigFile(entity.Pwd, "MD5"); Pwd = For ...

  3. Thinking in Java——笔记(7)

    Reusing Classes The first is composition,You're simply reusing the functionality of the code, not it ...

  4. CocoaPods 学习

    参考文章 git address 1.简绍:CocoaPods是一个负责管理iOS项目中第三方开源代码的工具. 2.安装过程: $ sudo gem install cocoapods $ pod s ...

  5. windows的Timer和写文件方式串口注意!

    1.Timer要读取并分发消息,才能触发自定义回调函数 SetTimer(NULL, 1, 40, (TIMERPROC)TimerProc); while(GetMessage(&msg, ...

  6. http://www.blogjava.net/xylz/archive/2013/08/05/402405.html

    http://www.blogjava.net/xylz/archive/2013/08/05/402405.html

  7. RML Utilities for SQL Server

    很早以前有看到过关于使用RML Utilities工具分析SQL Trace(.trc)的文章,但一直没有具体实践.最近接管一台数据库服务器,跟踪出一批高消耗的语句,老大需要跟踪分析报表,罗列出过程( ...

  8. 安装eclipse与pydev

    按照此文档 最简单的eclipse安装方法 sudo apt-get install eclipse 弊端:因为ubuntu默认安装的不是最新版本的eclipse,所以你也不能安装最新的pydev. ...

  9. TCP中异常关闭链接的意义 异常关闭的情况

    终止一个连接的正常方式是发送FIN. 在发送缓冲区中 所有排队数据都已发送之后才发送FIN,正常情况下没有任何数据丢失. 但我们有时也有可能发送一个RST报文段而不是F IN来中途关闭一个连接.这称为 ...

  10. Latex常用指令学习

    1:\begin{}与\end{}的用法 2:\textcolor{red}{\fangsong\zihao{2}汉字:} 3:\newpage  新的一页 4:\heiti\zihao{4}\bf{ ...