《U8开发之工具栏控件》由会员分享,可在线阅读,更多相关《U8开发之工具栏控件(25页珍藏版)》请在金锄头文库上搜索。
1、U8工具栏控件摘要工具栏(Toolbar)是U8应用程序常用的界面元素。把菜单中常用的命令做成按钮安排在工具条中,配上适当的图标符号和文本提示,能够极大地方便用户。U8产品开发尤其是前台UI开发中,工具栏控件和窗体一样是系统展现不可缺少的一部分。在早期U8产品开发过程中大量使用了微软的MSToolbar,但是随着U8ERP产品开发的精细化、专业化,微软的MSToolbar在界面设计和程序开发中暴露出了诸如界面图标配置不灵活、不支持多级菜单、不适应复杂应用场景、对多语的支持不够完善等开发问题。为了弥补这些不足,并且兼容之前的产品,U8平台提供了工具栏控件。在V11版本中,又对工具栏在UE效果上做
2、了进一步改进,采用Ribbon工具栏风格,形成了现在U8产品的工具栏效果。什么是工具栏? Ribbon风格:Ribbon是一种以皮肤及标签页为架构的用户界面 (User Interface),原先出现在 Microsoft Office 2007 及 2010 的Word、Excel和Powerpoint 等组件中,后来也被运用到 Windows 7 的一些附加组件等其它软件中,如画图和写字板,以及 Windows 8 中的资源管理器。它是一个收藏了命令按钮和图标的皮肤。它把命令组织成一组标签,每一组包含了相关的命令。每一个应用程序都有一个不同的标签组,展示了程序所提供的功能。在每个标签里,各
3、种的相关的选项被组在一起。设计Ribbon的目的是为了使应用程序的功能更加易于发现和使用,减少了点击鼠标的次数。门户Toolbar:从门户树形菜单或全景式菜单打开的选项卡式窗体(即嵌入门户的窗体)中包含的工具栏称为门户Toolbar。如下图所示:图 门户Toolbar示意图由于门户工具栏是U8各产品较常见且核心的内容,所以有必要介绍门户工具栏内部的一些概念,包括排版组、分组、按钮样式等。以下分别介绍:按钮分组:在门户Toolbar上,两个分割线之间的区域即为一个按钮分组。图 按钮分组示意图排版组:每个纵向排列的按钮集合即为一个排版组,排版组形式可能表现为一个大按钮、或者两个小按钮、三个小按钮。
4、如下图:(一个大按钮)(两个小按钮)(三个小按钮)按钮样式主要表现为普通按钮、下拉菜单(带设置默认功能)、下拉菜单(不带设置默认功能、Toggle按钮、Combobox类型按钮。(Toggle按钮)(普通按钮)(下拉菜单(不带设置默认功能)(下拉菜单(带设置默认功能)(显示模板信息的按钮为Combobox类型按钮)由于单据是U8产品常见且核心的功能,所以单据上除了有门户Toolbar以外,也包含自己的Toolbar,方便用户能够快速定位功能。单据的Toolbar包括表头Toolbar和表体Toolbar。表头Toolbar:表头工具栏并不是一个完整的工具栏,表头工具栏只是包含刷新、翻页(首页、
5、前页、后页、末页)、高级等按钮。其他的是单据表头的一部分,是单据控件的内部功能。如下图所示:图 表头Toolbar示意图表体Toolbar:表体工具栏是指单据表体顶部的工具栏,主要是针对表体的一些便捷操作的功能集合,方便用户浏览、操作表体数据时进行本单据的个性化操作。如下图所示:图 表体Toolbar示意图模态窗体Toolbar:非嵌入门户的窗体上的Toolbar工具栏。这种窗体上的按钮样式相对门户Toolbar要少,没有Combobox类型、没有排版组和大小按钮的概念。U890、U810.0、U810.1版本的按钮样式和U811.0模态窗体Toolbar的按钮样式相同。图 模态窗体Toolb
6、ar目标本文主要介绍工具栏控件的基础知识,应用过程及相关注意事项,方便各类U8产品开发人员更好的使用工具栏控件,更高效的开发产品。工具栏可以做什么? 工具栏是U8应用程序开发中必不可少的组件,工具栏支持多语、支持键盘快捷键、支持多级菜单的展示和运用、支持设置图标和文字、集成MSToolbar方便业务组快速开发同时保持程序的向后兼容性。1. V10.1及之前版本工具栏特性由于V11.0版本只是在界面UE效果和工具栏构建方式上做了修改,其他内容均和之前版本相似,所以这里不做重点的讲解,这些版本的样式和ssss相同。使用方式将在如何使用工具栏组件中介绍。2. V11特性a) 支持流式布局 没有权限的
7、按钮不显示,相同排版组内其余按钮自动重新排版。排版组可以定义小按钮最大行数。当出现空白列时,后面的按钮自动向前平移。 一个排版组内按钮因授权问题导致只有一个小按钮时自动升级为大按钮。 相关系统没有启用而导致的不可用功能按钮不显示,如工作流没有启用,提交按钮不显示。 有权限但当前单据状态或者操作状态下不可用按钮置灰。b) 支持多行显示图 多行显示示意图 工具栏高度为三行横向排版小按钮高度。 大按钮图标和标签采用上下排版,按钮占整个工具栏可用高度(三行小按钮)。 小按钮图标和标签左右排版,当一列有三个小按钮时工具栏可用高度三等分、纵向中对齐,当一列有两个小按钮时工具栏可用高度二等分、纵向中对齐,当
8、一列只有一个小按钮时工具栏可用高度二等分,纵向中对齐,按钮放在第一行。 当相邻有多个小按钮时,可以把它们划分为一个或者多个排版组,每个排版组可以指定排版行数。c) 支持分组 按钮支持按分组排列、排版组信息d) 多按钮样式 普通小按钮、下拉菜单小按钮、有默认功能的下拉菜单小按钮 普通大按钮、下拉菜单大按钮、有默认功能的下拉菜单大按钮3. 数据字典a) V11.0数据字典窗体按钮基本表(AA_FormButtons_base)(UFMeta库)字段名字段类型说明ctoolbarPosIndexnvarchar(5)标识窗体上该按钮所处位置信息.P(门户Toolbar),T(表头Toolbar),B
9、(表体Toolbar),其中T、B只对单据窗体有用。FunctionKeynvarchar(100)该按钮的功能KeycAuthidNvarchar(255)无用字段,方便抽取,不要赋值cSetGroupNvarchar(120)排版组名称ProcessObjectNameNvarchar(400)组件名信息(系统内部公共组件名,外部无需预置,无意义)iToolBarStyletinyint按钮类型。0代表普通按钮,1代表Check,2代表ButtonGroup,3代表分隔符,4代表PlaceHolder,5代表普通DropDown,55代表Combobox,56代表DropDown,57代表
10、ToggleButton,128代表下拉但是不需要设置默认cSubIDNvarchar(50)子产品IDcResIDNvarchar(100)资源号iOrderint位置信息(决定按钮在排版组的位置)cTipResIDNvarchar(100)提示信息多语资源号cForegroundColorNvarchar(120)前景色cGroupNvarchar(60)分组信息(cGroup=Hidden则代表该组按钮隐藏不显示)cButtonKeyNvarchar(40)按钮KeycProjectNONvarchar(50)项目号cHotKeyNvarchar(200)热键cToolBarTypeNv
11、archar(20)暂不使用iVoucherCtlIndexTinyint针对单据才有用,单据窗体上该按钮对应的单据控件IDcFormCodeNvarchar(40)窗体的唯一标识,建议按照如下格式预置:子产品号+前缀+单据/列表+窗体描述+CardNumber,例如frms_(前缀)_Voucher(单据)_PU(子产品号)_88(cardNumber)以保持唯一性为主,类似如下的命名:PU_frms_Voucher_Test_88PU_Frms_VoucherList_Test_88 cBackgroundColorNvarchar(120)背景色iSetGroupRowInt排版组:3/
12、2/1。3代表一组里面有3个按钮,2代表一组有两个按钮,1代表一组里面有一个按钮cPicNvarchar(60)图片名(无路径、无后缀名)iheightRowInt行高。3代表大按钮,1代表小按钮窗体按钮多语资源表(AA_FormButtons_lang)(UFMeta库)字段名字段类型说明AutoidInt自增id,唯一标识cCaptionNvarchar(200)按钮标题cProjectNONvarchar(50)项目号cFormCodeNvarchar(40)窗体标识,建议按照如下格式预置:子产品号+前缀+单据/列表+窗体描述+CardNumber,例如frms_(前缀)_Voucher
13、(单据)_PU(子产品号)_88(cardNumber)以保持唯一性为主,类似如下的命名:PU_frms_Voucher_Test_88PU_Frms_VoucherList_Test_88 LocaleidNvarchar(10)语种信息cSubIDNvarchar(50)子产品iDcToolTipNvarchar(600)按钮的Tip信息cButtonKeyNvarchar(40)按钮Key窗体按钮子菜单信息表(AA_FormButtonMenus_base)(UFMeta库)字段名字段类型说明cParentKeyNvarchar(40)按钮的上级菜单或菜单KeycButtonKeyNva
14、rchar(40)菜单对应按钮KeyFunctionKeyNvarchar(100)公共按钮执行的公共组件函数key,和ProcessObjectName配合使用cFormCodeNvarchar(40)所在窗体的唯一标识,建议按照如下格式预置:子产品号+前缀+单据/列表+窗体描述+CardNumber,例如frms_(前缀)_Voucher(单据)_PU(子产品号)_88(cardNumber)以保持唯一性为主,类似如下的命名:PU_frms_Voucher_Test_88PU_Frms_VoucherList_Test_88 iMenuTypeInt菜单类型:1代表CheckBox类型,0
15、代表普通类型cMenuKeyNvarchar(40)菜单KeycSubIDNvarchar(50)子产品IDcForegroundColorNvarchar(120)前景色cProjectNONvarchar(50)项目号cAuthidNvarchar(255)无用,仅为抽取工具抽取信息使用cBackgroundColorNvarchar(120)背景色IgradeInt暂时无用iOrderInt代表按钮下菜单的位置先后顺序ProcessObjectNameNvarchar(400)公共处理组件名,仅为系统内部使用,和FunctionKey配合使用cResIDNvarchar(100)资源号信息(多语资源表关联时使用)窗体按钮菜单对应多语资源表(AA_FormButto