扩展按钮功能 - 扩展一个【复制单据】按钮操作详解
扩展按钮功能 - 扩展一个【复制单据】按钮操作详解
本文学习内容: 1. 扩展功能按钮 2. 复制单据 操作步骤: 1. 在模块主窗体给菜单添加扩展权限,如: ButtonAuthority.EX_01。 2. 给扩展权限定义名称:如:复制单据。 3. 当调试完成,在系统管理的《菜单管理》导入菜单。 参考下面的代码: 增加扩展按钮的权限: C# Code: menuSalesOrder.Tag = new MenuItemTag(MenuType.DataForm, (int)CSFrameworkV5.Interfaces.ModuleID.SalesModule, AuthorityCategory.BUSINESS_ACTION_VALUE + ButtonAuthority.EX_01); //来源:C/S框架网(www.csframework.com) QQ:23404761 修改扩展按钮自定义名称: C# Code: (menuSalesOrder.Tag as MenuItemTag).SetActionName(ButtonAuthority.EX_01, "复制单据"); //来源:C/S框架网 | www.csframework.com | QQ:23404761 控制按钮状态: C# Code: //查看模式,复制单据按钮可用 protected override void SetViewMode() { base.SetViewMode(); this.Buttons.GetButtonByName("btnClone").Enable =_AllowDataOperate && this.ButtonAuthorized(ButtonAuthority.EX_01); } //修改模式,复制单据按钮灰掉,禁用 protected override void SetEditMode() { base.SetEditMode(); this.Buttons.GetButtonByName("btnClone").Enable = false; } //来源:C/S框架网 | www.csframework.com | QQ:23404761 重写InitButtons方法,初始化窗体的按钮: C# Code: public override void InitButtons() { base.InitButtons(); //复制单据 if (this.ButtonAuthorized(ButtonAuthority.EX_01)) { IButtonInfo btnClone = this.ToolbarRegister.CreateButton("btnClone", "复制单据", ToolBarGroup.扩展功能1, Globals.LoadBitmap("32_Copy.png"), new Size(57, 28), true, true, this.DoClone); _buttons.AddButton(btnClone); } } //来源:C/S框架网(www.csframework.com) QQ:1980854898 DoClone按钮事件: C# Code: public void DoClone(IButtonInfo sender) { this.AssertFocusedRow(); if (Msg.AskQuestion("确定要复制单据吗?")) { //获取当前单据 this.DoViewContent(this.Buttons.GetButtonByName(ButtonNameList.btnView)); if (this.IsViewMode) { //重置主表的数据 _BLLInstance.DataBindRow.SetAdded();//改为新增状态 SetEditorBindingValue(txtSONO, "*自动生成*", true); _BLLInstance.DataBindRow[tb_SO.CreatedBy] = Loginer.CurrentUser.Account; _BLLInstance.DataBindRow[tb_SO.CreationDate] = DateTime.Now; //重置明细表的数据 foreach (DataRow R in _BLLInstance.CurrentBusiness.Tables[tb_SOs.__TableName].Rows) { R.SetAdded();//改为新增状态 R[tb_SOs.SONO] = DBNull.Value;//清空外键 R[tb_SOs.CreatedBy] = Loginer.CurrentUser.Account; R[tb_SOs.CreationDate] = DateTime.Now; } // //以下处理多个明细表 // _UpdateType = UpdateType.Add; this.SetEditMode(); this.ButtonStateChanged(UpdateType.Add); } } } //来源:C/S框架网 | www.csframework.com | QQ:23404761 效果图: 扫一扫加作者微信
参考文档:
Winform开发框架 - 特殊权限控制(扩展权限和自定义按钮功能) 权限管理:给某个用户仅分配一个模块一个窗体一个按钮的功能 C/S开发框架权限扩展与定制按钮功能详细设计 C#.Net COM交操作性 - 强类型RCW和弱类型CCW详解 手动和自动生成业务单据号码UpdateKeyMode详解(1) 在窗体中屏蔽功能按钮 分享一个操作报告显示窗体 关于扩展权限、扩展功能按钮及自定义功能点的命名|C/S框架网 禁用或隐藏工具栏上的功能按钮 如何进行菜单管理、扩展权限、更改自定义按钮名称|C/S框架网 基础资料分页:默认分页,但增加一个不分页的功能 C/S系统开发框架权限系统 - 功能按钮权限值 - ButtonAuthority类详解 在基类窗体扩展一个通用导出Excel文件的按钮(支持导出所有表格的数据到Xlsx文件) 窗体的自定义按钮权限控制-扩展权限按钮详解 基于开发框架ClientDemo演示版源码新增业务功能模块操作详解
其它资料:
什么是C/S结构? | C/S框架核心组成部分 | C/S框架-WebService部署图 | C/S框架-权限管理 | C/S结构系统框架 - 5.1旗舰版介绍 | C/S结构系统框架 - 功能介绍 | C/S结构系统框架 - 产品列表 | C/S结构系统框架 - 应用展示(图) | 三层体系架构详解 | C/S架构轻量级快速开发框架 | C/S框架网客户案例 | WebApi快速开发框架 | C/S框架代码生成器 | 用户授权注册软件系统 | 版本自动升级软件 | 数据库底层应用框架 | CSFramework.CMS内容管理系统 | |