jQuery MiniUI

 找回密码
 立即注册
查看: 2049|回复: 3
打印 上一主题 下一主题

数据不合法则焦点保留在当前单元格 [复制链接]

Rank: 6Rank: 6

跳转到指定楼层
楼主
发表于 2014-4-18 16:27:34 |只看该作者 |倒序浏览
本帖最后由 q123126 于 2014-4-18 16:41 编辑

grid输入之后根据规则判断这个数据对不对,如果不对,当前单元格清空,焦点还在当前行当前列,并保持编辑状态。

现在我是有editnextonenterkey="true" editnextrowcell="true"这两个属性。结合了实例里面的。
        grid1.on("celleditenter", function(e) {
            var index = grid1.indexOf(e.record);
            if (index == grid1.getData().length - 1) {
                grid1.addRow({});
            }
        });
这样在输入不合法的情况下,仍然会新增一行,焦点到了下一行了。也就是要保留最后一行回车就新增一行,但是如果当前行无效,则不新增,要求继续修改。

Rank: 8Rank: 8

沙发
发表于 2014-4-18 16:42:52 |只看该作者
grid1.on("celleditenter", function(e) {
            grid1.validate();
            if(!grid1.isValid()) return
            var index = grid1.indexOf(e.record);
            if (index == grid1.getData().length - 1) {
                grid1.addRow({});
            }
        });
这样试试

Rank: 6Rank: 6

板凳
发表于 2014-4-18 17:13:32 |只看该作者
felt 发表于 2014-4-18 16:42
grid1.on("celleditenter", function(e) {
            grid1.validate();
            if(!grid1.isValid( ...

判断是做在endedit,判断不是简单的规则,是有和数据库互动。现在我没有用grid本身的有效性判断。

Rank: 8Rank: 8

地板
发表于 2014-4-18 17:16:38 |只看该作者
q123126 发表于 2014-4-18 17:13
判断是做在endedit,判断不是简单的规则,是有和数据库互动。现在我没有用grid本身的有效性判断。 ...

那你addRow前面去判断,不符合就return掉

Archiver|普加软件

GMT+8, 2024-7-8 06:42 , Processed in 1.019316 second(s), 10 queries .

Powered by Discuz! X2

© 2001-2011 Comsenz Inc.

回顶部