起步软件技术论坛
搜索
 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 3577|回复: 8

[结贴] grid表格限制输入数据的类型

[复制链接]

85

主题

273

帖子

647

积分

高级会员

Rank: 4

积分
647
QQ
发表于 2017-7-18 10:18:22 | 显示全部楼层 |阅读模式
grid列表,希望达到的效果:           比如金额这一列,如果输入了非数字,希望清空次单元格的数据,或者保留原有符合类型的数据,我代码是这样写的:
我在grid表格上写的事件代码如下:        SUFI2]F3IE~_2(IH1PXR}04.png
Model.prototype.jeChange = function(event) {
        debugger;
                var value = event.value;
                var oldValue = event.originalValue;
                var detailData = this.comp("detailData");
                var rowID = detailData.getCurrentRowID();
                if (isNaN(value)) {
                        this.comp("LXRDH").val(oldValue);
       //                 detailData.setValueByID("JE", oldValue, rowID);

                }
        };





效果见图

正常输入

正常输入

输入非法字符

输入非法字符

鼠标离开后

鼠标离开后

鼠标再次移入

鼠标再次移入

第一步:正常输入第二步: 输入非法字符 第三步:输入非法字符焦点离开后 第四步:鼠标再次焦点再次移入

求大神帮忙解决一下



91

主题

13万

帖子

3万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
36069
发表于 2017-7-18 11:43:00 | 显示全部楼层
在data的onValueChange事件中操作看看

这个事件中可以获取到新值和旧值,如果新值不满足需求可以自己获取到旧值赋值
远程的联系方法QQ1392416607,添加好友时,需在备注里注明其论坛名字及ID,公司等信息
发远程时同时也发一下帖子地址,方便了解要解决的问题  WeX5教程  WeX5下载



如按照该方法解决,请及时跟帖,便于版主结贴
回复 支持 反对

使用道具 举报

85

主题

273

帖子

647

积分

高级会员

Rank: 4

积分
647
QQ
 楼主| 发表于 2017-7-18 13:45:16 | 显示全部楼层
jishuang 发表于 2017-7-18 11:43
在data的onValueChange事件中操作看看

这个事件中可以获取到新值和旧值,如果新值不满足需求可以自己获取 ...

关键是新值被替换后鼠标再次点击进去后还是旧值啊
回复 支持 反对

使用道具 举报

91

主题

13万

帖子

3万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
36069
发表于 2017-7-18 15:11:48 | 显示全部楼层
data的onValueChange事件中代码发一下看看
远程的联系方法QQ1392416607,添加好友时,需在备注里注明其论坛名字及ID,公司等信息
发远程时同时也发一下帖子地址,方便了解要解决的问题  WeX5教程  WeX5下载



如按照该方法解决,请及时跟帖,便于版主结贴
回复 支持 反对

使用道具 举报

85

主题

273

帖子

647

积分

高级会员

Rank: 4

积分
647
QQ
 楼主| 发表于 2017-7-18 16:05:17 | 显示全部楼层
jishuang 发表于 2017-7-18 15:11
data的onValueChange事件中代码发一下看看

        Model.prototype.detailDataValueChange = function(event) {
                if (event.col == 'JE') {
                        if (isNaN(event.newValue)) {
                                var detailData = this.comp("detailData");
                                var rowID = detailData.getCurrentRowID();
                                detailData.setValueByID("JE", event.oldValue, rowID);
                        }
                }
        };
回复 支持 反对

使用道具 举报

91

主题

13万

帖子

3万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
36069
发表于 2017-7-18 17:15:58 | 显示全部楼层

Model.prototype.detailDataValueChange = function(event) {
                if (event.col == 'JE') {
                        if (isNaN(event.newValue)) {
                                var detailData = this.comp("detailData");
                                var rowID = detailData.getCurrentRowID();
                                event.row.val("JE", event.oldValue);
                        }
                }
        };
这样看看
远程的联系方法QQ1392416607,添加好友时,需在备注里注明其论坛名字及ID,公司等信息
发远程时同时也发一下帖子地址,方便了解要解决的问题  WeX5教程  WeX5下载



如按照该方法解决,请及时跟帖,便于版主结贴
回复 支持 反对

使用道具 举报

85

主题

273

帖子

647

积分

高级会员

Rank: 4

积分
647
QQ
 楼主| 发表于 2017-7-18 18:02:57 | 显示全部楼层
jishuang 发表于 2017-7-18 17:15
Model.prototype.detailDataValueChange = function(event) {
                if (event.col == 'JE') {
...

还是不行
回复 支持 反对

使用道具 举报

91

主题

13万

帖子

3万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
36069
发表于 2017-7-19 10:08:36 | 显示全部楼层
如下:
  1.         Model.prototype.mainDataValueChange = function(event) {

  2.                 if (event.col == "fName" && event.newValue !== 'test') {
  3.                         event.newValue = event.oldValue;
  4.                 }
  5.         };
复制代码
远程的联系方法QQ1392416607,添加好友时,需在备注里注明其论坛名字及ID,公司等信息
发远程时同时也发一下帖子地址,方便了解要解决的问题  WeX5教程  WeX5下载



如按照该方法解决,请及时跟帖,便于版主结贴
回复 支持 反对

使用道具 举报

85

主题

273

帖子

647

积分

高级会员

Rank: 4

积分
647
QQ
 楼主| 发表于 2017-7-19 10:45:55 | 显示全部楼层

好了,已解决谢谢大神! 请结贴
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|X3技术论坛|Justep Inc.    

GMT+8, 2024-11-26 14:28 , Processed in 0.111402 second(s), 26 queries .

Powered by Discuz! X3.4

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表