Foxtable(狐表)用户栏目专家坐堂 → 简单实用典型录入窗口设计总结


  共有3725人关注过本帖树形打印复制链接

主题:简单实用典型录入窗口设计总结

帅哥哟,离线,有人找我吗?
santde
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:童狐 帖子:274 积分:2293 威望:0 精华:0 注册:2015/6/14 18:33:00
简单实用典型录入窗口设计总结  发帖心情 Post By:2015/9/18 14:39:00 [只看该作者]

 

 

简单实用典型录入窗口设计总结

(深圳华软联动科技)

窗口界面:新增加行按钮  2015-9-18

 
图片点击可在新窗口打开查看此主题相关图片如下:1458.png
图片点击可在新窗口打开查看

 

窗口全部事件说明

 

AfterLoad 事件

Dim bt1 As WinForm.Button = e.Form.Controls("QX.add")

bt1.PerformClick

Dim tb As Table = e.Form.Controls("Table1").Table

ColMustNames ="产品名称,产品规格,单位,采购类型,一级分类"

 

For Each ColBackName As String In ColMustNames.Split(",")  ‘变色

tb.SetHeaderCellForeColor(ColBackName,Color.red)

Next

Dim LBLtishi As WinForm.Label = e.Form.Controls("LBLtishi")

LBLtishi.Text="标记为红色的字段【" & ColMustNames & "】为必填字段."  ’提醒

 

 

新增加行按钮   可任意新增多行。 方便用户所见即所得,直接操作录入数据的习惯。但使用前提是有自动删除无效行的功能。

Dim hs As WinForm.NumericComboBox = e.Form.Controls("NumericComboBox1")

DataTables("物品管理").StopRedraw

Tables("物品管理").addnew(hs.text)

DataTables("物品管理").ResumeRedraw


 

保存按钮   保存删除多余空行,进行必填写校验和拦截,符合条件才保存。 

Dim tb As Table = e.Form.Controls("Table1").Table

Functions.Execute("必填删除",tb.name,ColMustNames)

Functions.Execute("必填校验",tb.name,ColMustNames,2,1)  '(1为主表 2为明细表),(1保存,0不保存)


 

取消按钮

e.Form.close


 

BeforeClose 事件  能对有修改的情况进行提示,如果保存需要对数据进行校验,如果有不符合要求的数据行,则中止窗口关闭动作,返回问题行,让用户完善。

结果是要么不保存,要么数据符合地求,全部保存,不存在其它变数。

Functions.Execute("关闭前校验",e,"物品管理","","QX.sav") '主表在前,明细表在后,明细表可以空只传一个参数,QX.sav为要执行的按钮(保存)的名称


 


 

窗口总结:

一,窗口加载事件里设置 必填字段串 ColMustNames,窗口即有提示。保存时自动对该字段列进行必填写校验,有未填写时,系统自动给出提示,哪一行,哪一些字段未填写,并自动将光标置为不符合要求的第一行。有不符合要求的行在就不会保存,否则才保存。对于关键必填字段均为空的行就自动删除。


 

二、窗口打开时,即自动新增10个空行,用户 可以直接填写内容。方便用户操作。(前提是有函数在保存时自动删除空行)。


 

三、直接关闭窗口时可检查数据是否有修改。没修改 直接关闭。有修改则提示用户是否要保存

用户选择保存,则模拟单击保存按钮。如果数据均符合要求,则自动保存,否则取消保存,光标定位到不符合要求的行。如果不保存则退出取消表修改。

 

(一,初填写时自动建立多行。二,保存时,自动删除绝对的无效行。三,保存时,自动校验必填项目。四,直接关闭时,进行保存提醒。五,必填项目变更后,只需要改一个地方就行。六,自动提示,自动标注必填项目颜色)


 

技巧和难点:

  数据校验分主表,明细表有细小差别,通过参数控制。

  数据校验有的要保存有的不要保存只作校验,通过参数控制。

  关闭事件不再写保存代码,直接调用保存按钮就行,可传递按钮参数。

  自动根据必填字段设置提示,设置必填写字段,列名为红色或者其它颜色。


 

本例用到三个函数,设计调试花费一天时间。

Functions.Execute("必填删除",tb.name,ColMustNames)

Functions.Execute("必填校验",tb.name,ColMustNames,2,1) '(1为主表 2为明细表),(1保存,0不保存)

Functions.Execute("关闭前校验",e,"物品管理","","QX.sav") '主表在前,明细表在后,明细表可以空只传一个参数,要执行的按钮的名称 


[此贴子已经被作者于2015/9/18 14:46:32编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
大红袍
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2015/9/19 10:25:00 [只看该作者]

呃,例子呢

 回到顶部