Kendo 内联编辑的网格日期开始和结束日期
Kendo grid date from and date until when inline editing
我有这个 kendo 网格。对于 dateFrom
和 dateUntil
列,当我编辑从今天开始的过去日期时,我可以看到灰色值的日期吗?目前,当我编辑过去的日期时,该字段将变为空。
DEMO IN DOJO
代码太长,无法显示。
希望Updated Dojo这会有所帮助。
我假设你只希望将控件的 min date
设置在 current day
之前,如果已经存在一个值并且不应该创建新记录的话能够 select current date
.
之前的日期
我所做的就是在 kendoDateFrom
函数中添加一个条件,以检查该字段中的日期是否在 presentDate
变量之前,如果是,则设置 min
值控件到此日期为您服务。我还添加了一个新条目的检查,并检查该值是否未定义以将其设置为您的当前日期。
if(options.model[options.field] != undefined &&
kendo.parseDate(options.model[options.field], "MM/dd/yyyy") < presentDate){
presentDate = options.model[options.field];
}
else
{
presentDate = new Date();
}
如果您的要求不同,请在问题中提供更多信息以帮助满足您的要求。
编辑
因此,根据您更新后的要求,我已将 dojo 更新为您想要的内容。
我调整了 dojo 来为您解决几个问题。
- 添加了一个新的
currentMinDate
变量,它将用作我们的最小日期检查。
- 更改了最小日期检查以解决日期的随机
blanking
。
- 当日期在过去时
enable
该日期但禁用该日期和当前日期之间的所有日期(假设如果需要更改日期,您希望发生这种情况。
- 添加了
parseFormats
设置以确保它可以解析您提供的日期格式。
- 扩展了您的数据源,以便更新按钮将更改保存到本地数组。
禁用日期函数做了几件事:
- 检查传入的日期是空值还是日期
- 检查传入的日期是否小于当前日期
- 检查传入的日期是否不等于当前的最小日期
如果它将所有这些都解析为真,那么它会禁用日期,因此它不能被 selected,重要的是它确保它不会禁用当前的 selected 日期就这样过去吧select吧。如果该日期也被禁用,那么它将能够 select 禁用日期,因为它被视为无效。
disableDates:function(date){
console.log('disabling dates function, current passed Date::::', date);
console.log(date == currentMinDate, date, currentMinDate);
if(date && date.getDate() < presentDate.getDate() &&
date.getDate() != currentMinDate.getDate())
{
console.log(date,currentMinDate, 'disabled');
return true;
}
else
{
console.log(date,currentMinDate, 'not disabled');
return false;
}
},
我已经留下了我的评论声明,这样你就可以看到发生了什么。
希望这对您有所帮助。
我有这个 kendo 网格。对于 dateFrom
和 dateUntil
列,当我编辑从今天开始的过去日期时,我可以看到灰色值的日期吗?目前,当我编辑过去的日期时,该字段将变为空。
DEMO IN DOJO 代码太长,无法显示。
希望Updated Dojo这会有所帮助。
我假设你只希望将控件的 min date
设置在 current day
之前,如果已经存在一个值并且不应该创建新记录的话能够 select current date
.
我所做的就是在 kendoDateFrom
函数中添加一个条件,以检查该字段中的日期是否在 presentDate
变量之前,如果是,则设置 min
值控件到此日期为您服务。我还添加了一个新条目的检查,并检查该值是否未定义以将其设置为您的当前日期。
if(options.model[options.field] != undefined &&
kendo.parseDate(options.model[options.field], "MM/dd/yyyy") < presentDate){
presentDate = options.model[options.field];
}
else
{
presentDate = new Date();
}
如果您的要求不同,请在问题中提供更多信息以帮助满足您的要求。
编辑 因此,根据您更新后的要求,我已将 dojo 更新为您想要的内容。
我调整了 dojo 来为您解决几个问题。
- 添加了一个新的
currentMinDate
变量,它将用作我们的最小日期检查。 - 更改了最小日期检查以解决日期的随机
blanking
。 - 当日期在过去时
enable
该日期但禁用该日期和当前日期之间的所有日期(假设如果需要更改日期,您希望发生这种情况。 - 添加了
parseFormats
设置以确保它可以解析您提供的日期格式。 - 扩展了您的数据源,以便更新按钮将更改保存到本地数组。
禁用日期函数做了几件事:
- 检查传入的日期是空值还是日期
- 检查传入的日期是否小于当前日期
- 检查传入的日期是否不等于当前的最小日期
如果它将所有这些都解析为真,那么它会禁用日期,因此它不能被 selected,重要的是它确保它不会禁用当前的 selected 日期就这样过去吧select吧。如果该日期也被禁用,那么它将能够 select 禁用日期,因为它被视为无效。
disableDates:function(date){
console.log('disabling dates function, current passed Date::::', date);
console.log(date == currentMinDate, date, currentMinDate);
if(date && date.getDate() < presentDate.getDate() &&
date.getDate() != currentMinDate.getDate())
{
console.log(date,currentMinDate, 'disabled');
return true;
}
else
{
console.log(date,currentMinDate, 'not disabled');
return false;
}
},
我已经留下了我的评论声明,这样你就可以看到发生了什么。
希望这对您有所帮助。