怎么样解决数据窗口的字段值在输入的时候检查字符有效性?请大家帮帮忙!非常感谢!!!

prebill 2002-10-30 09:43:03
怎么样解决数据窗口的字段值在输入的时候检查字符有效性?请大家帮帮忙!非常感谢!!!
...全文
46 14 打赏 收藏 转发到动态 举报
写回复
用AI写文章
14 条回复
切换为时间正序
请发表友善的回复…
发表回复
jdsnhan 2002-10-31
  • 打赏
  • 举报
回复
把脚本放在itemchange中,并加上this.accepttext(),
它所触发的条件是每一次字段变化时,即变化并失去焦点后,所以楼主的第二个问题好象不存在啊!至于第一点,你可以把整个字段读出来分别做出判断。
第三个问题,如果在前面的问题解决,第三个问题就不用了吧
继续关注
andyzq 2002-10-31
  • 打赏
  • 举报
回复
1.在itemchanged把所有的字母都单独截取出来,逐个判断有效性
2.在itemchanged中写代码即可,可以加上scrolltorow(),setcolumn()函数加以强制焦点不改变
3.在按钮再次判断一次
prebill 2002-10-31
  • 打赏
  • 举报
回复
ropriest(馆主) :我试过了还是不行
ropriest 2002-10-31
  • 打赏
  • 举报
回复
要判断所有的,并且是输入时就判断的话
可以加上:dw_name.AcceptText()在ItemChanged中试试看!
prebill 2002-10-30
  • 打赏
  • 举报
回复
非常感谢前几位给我的指点,但我要对几个字段设置有效性,我不知道怎样对具体的字段进行引用及怎样判断输入的内容是什么,请说详细一点,最好举例!谢谢!
pufan 2002-10-30
  • 打赏
  • 举报
回复
在itemchanged事件中写代码对data进行判断,不符合return 1即可.
chengjian 2002-10-30
  • 打赏
  • 举报
回复
回楼主:
姓名字段要求只能输入字符,能输入的都是字符。不要以为1不是字符。
email字段要求有个‘@’字符
在ITEMCHANGED中写代码进行判断。
kink 2002-10-30
  • 打赏
  • 举报
回复
不好意思,借用一下地方
如何让数据窗口执行动态生成的sql语句??!!

急!!!!!
prebill 2002-10-30
  • 打赏
  • 举报
回复
怎么样解决数据窗口的字段值在输入的时候检查字符有效性?比如姓名字段要求只能输入字符,email字段要求有个‘@’字符等等。请大家帮帮忙!非常感谢!!! (请举例!只要说对绝对给分!)
prebill 2002-10-30
  • 打赏
  • 举报
回复
谢谢各位!我试了一下,出现如下问题:
1、只能判断首字母的有效性,而我要求判断该字段输入时的所有字母的有效性
2、只能检查该字段获得焦点时或者只能检查一次有效性,而我要的是当该字段(而不是数据窗口)失去焦点的时候立即检查有效性
3、同时我还想单击保存按钮的时候对每个要保存的字段检查有效性
请各位帮忙写下代码,谢谢!
andyzq 2002-10-30
  • 打赏
  • 举报
回复
主要是在itemchanged事件里写代码判断输入数据的有效性.
另外可用editmask配合使用验证数据的有效性
xzh76215 2002-10-30
  • 打赏
  • 举报
回复
在数据窗口中检查有效性应把代码写在数据窗口事件"itemfocuschanged"中;
得到当前的列名用dwo.name/this.getcolumnname()
判断输入的有效性可以通过函数"asc()"进行检查
例:
choose case dwo.name
case 'zd_code'
ls_zd_code=this.object.zd_code[row]
if len(ls_zd_code) = 0 or isnull(ls_zd_code) = true then
messagebox("提示","征订代码为空!")
this.setcolumn('zd_code')
end if
case ...
xwmhn 2002-10-30
  • 打赏
  • 举报
回复
数据窗口的字段值的控键上写下如下代码:
if dwo.name = 你要设置判断的字段 then
if pos(data,'@') = 0 then
messagebox("提示", "请输入正确的信息!") //没有@
return 1
end if
end if
xiaozg118 2002-10-30
  • 打赏
  • 举报
回复
if dwo.name = 你要设置判断的字段 then
if pos(data,'@') = 0 then
//没有@
return 1
end if
end if
当然我这只是举的一个例子 只是简单的判断有不有'@',你可能还需要判断'@'的位置等信息,大概意思就是这样的啦! :)

610

社区成员

发帖
与我相关
我的任务
社区描述
PowerBuilder DataWindow
社区管理员
  • DataWindow社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧