hur.cn - 华软网

 热门搜索

急!如何设置editmask,使得该字段只能输入大写字母!

  作者:未知    来源:网络    更新时间:2018/6/13
rt
------华软网友回答------
maskdatatype设为stringmask!,textcase设为upper!
------华软网友回复------
mask设为!XXXXXXXXX
------华软网友回复------
不好意思我没说清楚,我指的是dw中的列!
------华软网友回复------

ing
------华软网友回复------
我试了一下,大写(mask:!!!!!!)倒是可以,但是又要大写又只能字母好像不行,干吗不用事后检查呢?
------华软网友回复------
to : li_d_s 
   me too! 大写(mask:!!!!!!)倒是可以;
   如果能通过设置实现“既要大写又只能字母”,可以简化程序开发,实在不行只有像你说的那样事后检查啦!
------华软网友回复------

------华软网友回复------
具体没试过editmask行不行,
但,不管用户输入大小写,在保存时 用upper()转换一下就行了


------华软网友回复------
to :  lzheng2001(1加1) 有没办法限制用户只能输入字母
------华软网友回复------
试试用变通的方法吧, 列的编辑改成一般的edit,case 属性中选上upper

为dw 加一个ue_char事件 pbm_char
CHOOSE CASE Key
CASE "A","B","C", ....
MessageBox("测试","按下了字母键")
CASE ELSE
RETURN 1 //这里拒绝输入非数字字符
END CHOOSE

或者
IF dw_1.getColumnName() = "..." then 
CHOOSE CASE asc(Key)
CASE IS >= 65 and IS <= 90 //A - Z  
               //
         CASE IS >= 97 and IS <= 122 //a - z
              // 
               
CASE ELSE
RETURN 1 //这里拒绝输入字母字符
END CHOOSE

End if

以上代码适于各种编辑控件,应该也适用于DW的,你自己测试一下

------华软网友回复------
to: lzheng2001(1加1) 
     刚才试了,不行!
     感谢各位的热心帮忙!
------华软网友回复------
不行的话,要在key事件,other 事件,或者editchanged事件中下功夫了. 


------华软网友回复------
editchanged中:
this.SetValue(String(dwo.name), row, Upper(data))
但愿光标不会跳走^_^
------华软网友回复------
数据窗口中字段的有效性规则中输入:
match(gettext(),"^[A-Z]+$")      
华软声明:本内容来自网络,如有侵犯您版权请来信指出,本站立即删除。