GZFramwork快速开发框架之窗体设计说明

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

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

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

        public override DataSet 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];

 

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

        public override void DoBoundEditData()

        {

            base.DoBoundEditData();

        }

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

重载属性 CurrentAuthority

protected override int CurrentAuthority

        {

            get

            {

                return base.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,

public override void IniButton()

        {

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

        }

图标大小统一为32x32.png

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

//窗体状态改变后

        protected override void 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>

        protected override void 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

    public class FunctionMyRole : ModuleFunctionBase

        {

 

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

            public override string FunctionPng { get { return "Role"; } }

 

 

            public override Form LoadForm(Form MIDParent)

            {

                if (frmFun == null)

                {

                    frmFun = new frmMyRole();

                    if (MIDParent != null)

                    {

                        frmFun.MdiParent = MIDParent;

                    }

                }

                return frmFun;

            }

        }

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

    窗体需重载IniButton事件,

例子:

public override void 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

欢迎提出您的宝贵意见

时间: 2024-10-09 21:20:33

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

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

开始前请先阅读 GZFramwork快速开发框架之窗体设计说明 第一步:准备模块图片 图片为2张大小分别为16x16和32x32,放在\Debug\images目录下    因为会员管理模块并不多    把NavBarControl Group的图标换成32x32大小的:   修改GZVip.Main.frmMain.cs代码 修改  RefreshModule()方法中Group的Image 修改前: 修改后   修改前后对比,左边为修改前,右边为修改后 第二步:添加项目 右键解决方案添加项目

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

  GZFramwork框架开发环境为.NET 4.0  (必须)   VS2013+SQL2005+DevExpress v13.2.8+FastReport (推荐)  数据库建模工具PowerDesigner     GZFramwork快速开发框架源码下载地址   链接: http://pan.baidu.com/s/1qW0WNIO 密码: ddeg   下载以后分两部分, GZFramwork是框架的主体部分 GZCodeGenerate是框架代码生成器 关于框架结构: GZFram

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

关于GZFramwork快速开发框架 作者:GarsonZhang  QQ:382237285 唯一QQ交流群:288706356 欢迎提出您的宝贵意见

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

  1.1:创建表结构 新建三张商品关联的表,表模型如下:   创建SQL语句略 1.2:生成表Model(生成方法见上一节) 1.3:生成tb_ProductType的单结构界面然后添加到项目中     1.4:修改GZVIP.Dictionary模块中DictionaryMain类,新增产品类型功能   public class DictionaryMain : ModuleFunctionManage { public DictionaryMain() { FunPools.AddFunc

FastFrameWork 快速开发框架

前言 先前发布了Agile.Net组件式开发平台,目标为中大型企业级产品框架.但日常项目中也有一些小型的独立产品.用Agile.Net就显得繁琐复杂化了,所以抽了点时间,依照Agile.Net平台思想开发了这个小型软件专用的快速开发框架,该框架全部源代码已经开源提供下载.欢迎大家提意见,使用过程中如果有疑问或者有想参与框架代码完善,请加入Agile.Net QQ交流群. FastFrameWork 快速开发框架是适用于小型软件的一套快速开发解决方案.采用Ribbon UI设计风格,组件式扩展模块

看大师讲解Android快速开发框架EasyAndroid

前几天做了小应用,感觉小有成就,名字叫"长见识了",是一款趣味答题类的游戏,题目各种火爆各种经典,下载地址,看似一个简单的答题小游戏却是五脏俱全,从开发流程上都进行了严格的规范,大家有空可以下载玩玩~ 在这个应用中,用到了我以前集成的一个快速开发框架-EasyAndroid,这个框架我以前在做项目的时候总结,整理出来的,对于快速开发Android应用非常实用. 其实,Android应用的开发并不难,我们拿到一款Android应用后,百分之九十以上无外乎有这么几个功能: 1,IOC Mo

CRL快速开发框架系列教程十(导出对象结构)

本系列目录 CRL快速开发框架系列教程一(Code First数据表不需再关心) CRL快速开发框架系列教程二(基于Lambda表达式查询) CRL快速开发框架系列教程三(更新数据) CRL快速开发框架系列教程四(删除数据) CRL快速开发框架系列教程五(使用缓存) CRL快速开发框架系列教程六(分布式缓存解决方案) CRL快速开发框架系列教程七(使用事务) CRL快速开发框架系列教程八(使用CRL.Package) CRL快速开发框架系列教程九(导入/导出数据) CRL快速开发框架系列教程十(

《HiWind企业快速开发框架实战》(3)使用HiWind创建和管理菜单

<HiWind企业快速开发框架实战>(3)使用HiWind创建和管理菜单 关于HiWind HiWind企业快速开发框架,是基于.NET+EasyUi(支持各种前端扩展,后面将扩展Bootstrap等)+多数据(MsSql.Oracle.MySql等)开发的一款企业管理系统快速开发框架. HiWind企业快速开发框架,中文名称:疾风.意为像风一样快速完成你的产品之意. 使用HiWind简单的增删改查,权限设置,几乎不需要编写代码完成.高度辅助的情况下,并不会影响你的灵活发挥,你仍然可以使用部分

微信快速开发框架V2.3--增加语音识别及网页获取用户信息(八),代码已更新至Github

不知不觉,版本以每周更新一次的脚步进行着,接下来应该是重构我的代码及框架的结构,有朋友反应代码有点乱,确实如此,当时写的时候只是按照订阅号来写的,后来才慢慢增加到支持API接口.目前还在开发第三方微信平台,旨在使用户能够无需自己开发就能简易搭建微信平台. 更新内容 1.增加支持语音识别 2.增加"网页授权获取用户基本信息" 语音识别其实是对Voice信息的一个扩展,您必须启用语音识别功能,启用后会在VoiceMessage中增加一个Recongnition字段,我们可以判断这个字段的内