jQuery MiniUI

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

datagrid的时间约束 [复制链接]

Rank: 2

跳转到指定楼层
楼主
发表于 2016-8-25 16:59:41 |只看该作者 |倒序浏览
用datagrid做列表展示,里面有开始和结束时间的编辑,希望可以对时间进行约束:1、开始时间和结束时间都不能为空
2、开始时间不能大于结束时间
3、选择开始时间之后,结束时间控件中在开始时间之前的所有日期都置灰并且不能选中

4、选择结束时间之后,开始时间控件中在结束时间之后的所有日期都置灰并且不能选中
我自己做的感觉代码很笨重,是否有比较好的实现方式?
自己的代码:
                grid_holiday.on("cellvalidation",function(e){
                        if(e.field == "BEGIN_DATE"){
                                begindate = e.value ;
                                if(e.value == null || e.value == ""){
                                        alert("对不起,开始时间不能为空");
                                        e.isValid = false ;
                                        return ;
                                }
                        }else if(e.field == "END_DATE"){
                                enddate = e.value ;
                                if(e.value == null || e.value == ""){
                                        alert("对不起,结束时间不能为空");
                                        e.isValid = false ;
                                        return ;
                                }
                                if(enddate < begindate){
                                        alert("对不起,结束时间不能小于开始时间");
                                        e.isValid = false ;
                                        return ;
                                }
                        }
                        else if(e.field == "NAME"){
                                if(e.value == null || e.value == ""){
                                        alert("对不起,名称不能为空");
                                        e.isValid = false ;
                                        return ;
                                }
                        }else{
                                e.isValid = true ;
                                return ;
                        }
                });


Rank: 8Rank: 8

沙发
发表于 2016-8-25 17:08:55 |只看该作者
可以么肯定可以的,但是你这限定的要求有点高,代码当然也就会多点。
晚点我给你做个例子吧

Rank: 2

板凳
发表于 2016-8-25 17:22:34 |只看该作者
felt 发表于 2016-8-25 17:08
可以么肯定可以的,但是你这限定的要求有点高,代码当然也就会多点。
晚点我给你做个例子吧 ...

非常感谢!!!

Rank: 8Rank: 8

地板
发表于 2016-8-26 09:39:46 |只看该作者
flower 发表于 2016-8-25 17:22
非常感谢!!!


附件: 你需要登录才可以下载或查看附件。没有帐号?立即注册

Rank: 2

5#
发表于 2016-8-26 15:56:10 |只看该作者
dforce 发表于 2016-8-26 09:39

这个好像没有用哦,在界面上控件没有显示为时间的选择  ;
if (record.finish)这个判断好像没有响应。
grid_holiday.on("cellbeginedit", function (e) {
                var field = e.field;
                var record = e.record;
                var editor = e.editor;
                if (field == "BEGIN_DATE") {
                    if (record.finish) {
                        editor.setMaxDate(record.finish);
                    }
                }
                if (field == "END_DATE") {
                    if (record.start) {
                        editor.setMinDate(record.start);
                    }
                }
            });

Rank: 2

6#
发表于 2016-8-26 16:34:09 |只看该作者
dforce 发表于 2016-8-26 09:39

刚刚做了很多测试发现是因为我在代码上做了响应的修改,所以导致判断不可行,现在问题解决了,时间可以正常约束了,非常感谢!!

Rank: 8Rank: 8

7#
发表于 2016-8-26 16:49:54 |只看该作者
flower 发表于 2016-8-26 15:56
这个好像没有用哦,在界面上控件没有显示为时间的选择  ;
if (record.finish)这个判断好像没有响应。
gr ...

直接跑我们给你的例子看效果

Archiver|普加软件

GMT+8, 2024-10-3 07:25 , Processed in 1.064946 second(s), 11 queries .

Powered by Discuz! X2

© 2001-2011 Comsenz Inc.

回顶部