以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- [分享] 一次性判断窗口文本框、表字段是否输入内容,并进行提示,只有参数齐全才允许下一步操作的方法! (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=2408) |
-- 作者:程兴刚 -- 发布时间:2009/4/12 13:16:00 -- [分享] 一次性判断窗口文本框、表字段是否输入内容,并进行提示,只有参数齐全才允许下一步操作的方法! 这是我的钢筋翻样的提料按钮的部分代码,窗口控件是根据钢筋代码动态生成,最多个数及名称是代码中体现的,最少一个,列字段也一样,都是动态判断。 主要功能见标题: Dim Multi As String = "A|B|C|D|E|F|G|H|JD1|JD2" Dim Values() as String Values = Multi.split("|") For Index As Integer = 0 To Values.Length - 1 if e.Form.ExistControl(Values(Index)) = true if e.Form.Controls(Values(Index)).Value = nothing MessageBox.Show("对不起,您输入的参数不全,请为本钢筋录入" & Values(Index) & "参数后再提料!", "提示") Return else Tables("明细数据").Current(Values(Index)) = e.Form.Controls(Values(Index)).Value end if else Tables("明细数据").Current(Values(Index)) = nothing end if Next e.Form.Controls("计算规则").Value = dr("下料长度计算规则") Multi = "施工部位|构件名称|钢筋编号|钢号|直径|间距|构件根数|构件数" Values = Multi.split("|") For Index As Integer = 0 To Values.Length - 1 if e.Form.Controls(Values(Index)).Value = nothing MessageBox.Show("您还没有输入" & Values(Index) & ",请您先输入" & Values(Index) & "再提料!", "提示") Return else Tables("明细数据").Current(Values(Index)) = e.Form.Controls(Values(Index)).Value end if Next |
-- 作者:yangming -- 发布时间:2009/4/12 13:23:00 -- 先收藏再研究,谢谢程版分享!呵呵 |
-- 作者:kylin -- 发布时间:2009/4/12 14:35:00 -- 谢谢! |
-- 作者:程兴刚 -- 发布时间:2009/4/12 15:15:00 -- 配合这个帖子看相对明了一些,帖子中上传了界面部分截图: http://www.foxtable.com/dispbbs.asp?boardid=2&id=2409&page=1&star=1 再提示一下,利用动态管理控件功能,可以做到一个窗口N种用途,重复利用窗口次数没有上限,不需要设计多个窗口 本系统目前仅单筋翻样10种类型的钢筋(按折弯数分类),多达几百种,不同的参数填写要求,目前仅采用了一个窗口,利用10个按钮代替多层面板,还省却了好几百个绘图板和一个多层面板(仅用一个面板为容器,容纳70个绘图板——单种类型钢筋最多不足70个)。 这是一个程序规划问题的延伸,与大家共同分享,以加快大家学习狐表的步伐!(王婆卖瓜,大家别见笑!) [此贴子已经被作者于2009-4-12 16:00:36编辑过]
|
-- 作者:gdlgh -- 发布时间:2009/4/12 15:18:00 -- 顶了! |
-- 作者:czy -- 发布时间:2009/4/12 20:49:00 -- 学习。 |