开发规范(UI/UE)
应用规范
List模式画面
意图:多记录显示、操作需求。
应用场景:
1. 通用的操作画面,有简单的查询条件,列表(Grid)中显示查询结果。
2. PopForm弹出对话框。
- 画面样例一(上下型):
画面分层三个区域:查询条件区、多记录区、功能按钮区

基本功能要求:
查询:根据条件,多记录查询,在List区中列出查询结果;
删除:表格中提供“选择”栏,对选择的信息项做删除操作。
新增、修改:需要批量输入数据,根据不同应用要求,提供不同的操作模式,规定如下,
1.当信息项少于10项,或内容不复杂时,可直接在Grid(表格)中进行数据的输入、修改;
2.当信息项少于10项,多条记录一次性新增时,使用Grid右键菜单或左下角新增(+)按钮,新增记录行,并输入数据;
3.当信息项多于10项,Grid操作繁琐(类型复杂)时,增加输入区、对话框(PopForm)或跳转 到Detail模式画面(参见4.2节),使用不同类型控件,进行数据的输入、修改。其中,数据项少于20个,使用输入区;数据项少于50个,使用对话框;数据项多于50个且输入复杂时,使用跳转到Detail模式画面,在该画面中新增、修改操作。
建议:以PopForm进行新增时,提供“是否继续新增”功能。
扩展功能:
其他:主要指业务功能,如:计划下达、收池等,类似删除功能,对选择的记录做后台逻辑处理,不需要在Grid中输入或修改大量数据项,使用本风格模式。
画面样例二(左右型):

功能要求及规范同样例一。
Detail模式画面
意图:单记录显示、信息维护需求。
应用场景:
1. 针对一条记录的信息明细,使用多种控件显示、输入、更新。
2. 不使用List(列表)模式的画面,有简单的查询条件,列出查询明细。
3. 信息项有类别区分。
如:实绩查询
- 画面样例一
画面分层三个区域:条件区、信息展示区、功能按钮区

基本功能要求:
查询:单记录查询,查询;
删除:根据条件区,删除主键记录;
修改:除主键外,所有的信息项都可修改;
新增:主键是必输项,其他数据项可根据业务要求,做新增校验;
该模式画面的强项是对数据信息的维护(CURD)。
Master-Detail模式画面
意图:对于信息结构复杂(有父子关系,信息级联,或信息量大),画面需要展示父子(Master-Detail)关系信息结构,便于清晰理解信息和内容。
应用场景:
具有父子信息结构,且关心指定的主体信息,附带相关子信息项。有简单的查询条件。
具有信息级联关系,有明确的Master,从其他表中带出相关明细(Detail),如统计、状态等。
对同一级信息量大,展现主要信息后,在明细区展示其他信息,结构化划分区域。如:炉次实绩关联工序、作业、成分等其他明细信息。
如: 合同跟踪,出厂计划
- 画面样例一:


基本功能要求:
1.查询:不设置查询条件,以弹出PopForm的查询画面,进行主记录的选择,将主记录主键信息调出。
2.其他:例如审核、提交等,需要对该信息内容进行全部了解确认后,再做相应功能操作。
3.新增:该功能对信息结构较为复杂的应用最适合,一般分2处输入:
Step1,直接在Master区录入数据;
Step2,提供PopForm子画面,录入Detail信息,暂存在客户端数据结构中,按确定后,写入数据库。对于多笔明细录入,提供“是否继续新增”功能进行操作。
4.修改:除主键外,所有的信息项都可修改。
List-Detail模式画面
意图:相对Master-Detail关系结构中,只能查看一条主信息模式,List-Detail是能列举多笔主记录(List Master)信息,通过选择不同的主记录,在Detail中显示相应的明细信息(Detail)。便于快速查询多条信息和内容。
应用场景:
对Master进行有条件的范围搜索,列出多笔符合条件的Master信息。在List中列出;选择某一Mast 信息,再列出其明细信息。
如:实绩查询
- 画面样例一:

基本功能要求:
1.查询:List-Detail模式的画面,适合于一览查询;通过条件项设置,查询相关信息。
2.其他:例如审核、提交、删除等,需要对多笔信息内容进行了解,批量做相应功能操作。
扩展功能:
- 翻页查询:涉及List模式,必然有记录数量范围的需求,通过Grid的翻页功能,控制查询数量,保证系统的性能。具体翻页功能参看;
建议:
该模式画面适用于查询、选择操作,不使用于新增、修改操作。对于新增、修改请转入使用Detail、Master-Detail模式画面。
List-List模式画面
意图:与List-Detail模式相似,但区别在于List-List中,针对特定应用只允许显示父子信息中的部分,而不是全部,其到检索和快速信息掌握要求。
应用场景:
如同命令查询、材料命令形成等功能画面,关心特定部分信息,不关心明细信息。Master区和Detail 区内的List只列出用户关心的信息项。List的列不易过多。选择某一Master信息,子List中列出其明细信息。
- 画面样例一:


基本功能要求:
1.查询:List-List模式的画面,适合于一览查询;通过条件项设置,查询相关信息。Master区有分页查询功能。
2.其他:例如审核、提交、删除等,需要对多笔信息内容进行了解,批量做相应功能操作。
扩展功能:
- 翻页查询:涉及List模式,必然有记录数量范围的需求,通过Grid的翻页功能,控制查询数量,保证系统的性能。具体翻页功能参看(4.1节);
操作规范
表格中的记录选择
表格控件(Grid)中,如对某信息项进行明确的选择时,Grid中提供“选择”栏供选择操作。如果对表格中的记录只进行查询、顺序调整、统计汇总等非明确选择要求的,可以不提供“选择”栏。
注:Grid中的选择能提供批量选择和取消(即全选、全不选);分组选择。
单步操作与两步操作
单步操作,是指画面功能按钮,点击一次完成功能的操作模式。如:查询,简单的新增、修改、删除等。
两步操作,是指重要功能按钮,需要有确认、取消步的操作模式。具体的例如:合同计划下达,点击 “下达”按钮后,并没用真正计划下达,点击“确定”按钮才正式下达,点击“取消”按钮撤销下达。
对两步操作,使用单步操作定义,弹出确认对话框,进行“确定”操作。
注:
- 两步操作中,有Pre_Do的准备工作,该方法内只允许对Grid的可编辑功能属性等进行操作,不允许对画面信息做修改操作。
翻页查询操作
DevExpress中提供了分页查询的操作按钮(Grid的左下角功能Bar),在3.0版的画面功能中,都使用Grid的分页操作,不允许在功能按钮(Fn)中定义Grid的上翻、下翻操作。
Grid的分页信息,按如下标准提示方式显示:
“第m/M页,共n条记录”(m-是当前第几页,从1计数;M-总页数;n是表中的总记录数)
对画面中非List方式显示信息,有上一条记录、下一条记录的操作要求,则定义在Fn功能按钮中,或 其它操作方式。
画面跳转操作
跳转时,使用双击方式,禁止使用单击;最好有按钮功能列出。
每次都新打开一个画面,会存在重复打开画面
A->B;或重复A->B
C->B;
需求不一样,允许打开多次,但要在打开源头控制。
子画面弹出
PopForm默认大小:600 * 350;
表格功能
- 新增、修改行风格设定
设置gridview的RowStyle事件 ,调用EFFormED模板中提供的GridView辅助方法:
SetGridViewRowStyle(GridView gridView, DevExpress.XtraGrid.Views.Grid.RowStyleEventArgs e)
示例:
private void gridView1_RowStyle(object sender, DevExpress.XtraGrid.Views.Grid.RowStyleEventArgs e)
{
base.SetGridViewRowStyle(gridView1, e);
}- 可编辑列风格设定
(编制中……)
- 表格行删除
查询的上翻、下翻操作:()
查询条件较复杂的,用PopForm;小代码(信息内容20个内)用下拉。
- 拖拽移动(顺序调整)
多次拖拽,所有行顺序调整完毕后,必须点击“确定”或顺序保存之类的按钮,统一提交至数据库。
注:Grid能提供单记录、多记录拖拽;分Grid内和不同Grid间拖拽功能。
- 表格右键功能
(编制中……)
- 表格公用模板
新增、修改操作后,记录的高亮显示(底色变色)。
“选择”列作为默认项,显示并操作。 并提供单选、多选的控制。
选择数量的判断:使用DataSet 功能。
固定列(冻结)的选择功能。
对大字体需求:画面字体的大小可以修改。
- Master-Detail
导出:master-Detail
导入:禁止使用
- List-Detail
翻页功能,有条件使用(数据量多,一览、查询画面下使用)
分组、过滤功能:
导出功能
自定义显示列,及恢复。
布局规范
此处Layout指Dev控件下的LayoutControl。
每个画面需要有一个LAYOUT控件,LAYOUT控件必须拖拉后与FORM底部的按钮条一起充满整个FORM。然后LAYOUT控件需进行四面锚定。LAYOUT控件不能将DOCK设置为FILL。
在LAYOUT中进行画面的分区。每个分区必须有一个PANEL控件,并设置EFPANEL属性为FILL。每个分区应提供收放按钮。(有相关属性进行设定)
除PANEL外,其他控件一律放在PANEL控件中。
如需在运行时候进行分区大小拖动的,必须放入LAYOUT控件中的Splitter进行控制
设计规范
界面功能显示
画面中有不同的功能区域,尤其使用GroupControl控件时必须有明确的说明,如:查询条件,基本信息、 计划信息、材料信息等。不允许GroupControl中没有提示信息。
画面中任何一个操作动作,都应有相应的反应,包括:数据更新、记录变化、功能处理结果(成功或 错误),错误信息等。其中最重要的是,画面能够提供哪些功能,尤其是业务功能,必须有对应的明确的功 能按钮。严禁对必要的功能做隐藏、合并。如:EPESOBJ画面按钮注册维护画面,只提供“F3维护模式”,
所有的画面、按钮的增删改操作,都集中在该按钮下,该模式在MES业务画面中必须禁止。
操作信息提示
- 报错信息显示
报错信息,主要是指后台Service返回信息与画面的校验后提示信息。
在Service中返回报错信息是通过抛出异常的方式,代码如下(C#):
throw new Exception(ErrorInfo);- MsgBox提示信息
保证系统提示信息准确、清晰、醒目,重要信息采用MsgBox来提示。
MsgBox的标题(caption)统一采用 MsgBoxInfo,提示信息分为以下4类。
a) 警告类
MsgBox.Show("确认要删除订单 XXXXXX 吗?", MsgBoxInfo,MessageBoxButtons.OKCancel, MessageBoxIcon.Warning);

图1
b) 问题类
MsgBox.Show("是否要保存更改?", MsgBoxInfo,MessageBoxButtons.YesNo, MessageBoxIcon.Question);

图2
c) 提示类
MsgBox.Show("新增成功。", MsgBoxInfo, MessageBoxButtons.OK,MessageBoxIcon.Information);
重要业务,例如评审及审核等,成功后都要有如上提示!
d) 错误类
MsgBox.Show("具体的出错信息", MsgBoxInfo, MessageBoxButtons.OK,MessageBoxIcon.Error);
画面排版规范
画面的布局必须整齐、工整。有操作区域定义的,如GroupControl、Tab、Grid,必须撑满画面,不能留有较大的空白区。
控件的Margin属性设置规范
- 单记录排列
标题:右对齐;
值:字符左对齐,数字右对齐。
- 多记录排列
标题:居中;
值:字符左对齐,数字右对齐。
- 查询条件区
需加GroupControl,而且GroupControl要与下面的Tab区对齐。
- 功能键名称
维护功能键统一命名为查询、新增、修改、删除、存盘。
- 弹出画面
采用框架提供的弹出画面模板,画面上的按钮大小统一按模板(74*23),位置靠右,依次为“查询”、“确认”、“取消”。
输入数据项的标识
新增或修改需输入的数据项(包括通过双击弹出子画面的数据项),其标题左侧统一加标注半角的“*”,
例如:“*品名”,而不采用变换颜色的方式。
多记录区中的关键字可复制
多记录区(Grid)中的关键字(如订单号、材料号、计划号)不能编辑时,应采用ReadOnly属性,而不是AllowEdit属性,以便该数据可复制。