我一直在研究使用 filterToolbar 按日期时间过滤 jqGrid。
我的问题是基于 Olegs 的出色回答。
我终于想出了如何在日期触发工具栏搜索,如下所示:
colModel: [{
name: 'RequestDate',
index: 'RequestDate',
formatter: 'date',
formatoptions: {
newformat: 'm/d/Y h:iA'
},
searchoptions: {
sopt: ['eq'],
dataInit: function (elem) {
$(elem).datepicker({
changeYear: true,
changeMonth: true,
onSelect: function (dateText, inst) {
setTimeout(function () {
$('#MyGrid')[0].triggerToolbar();
}, 50);
}
});
}
}
}]
现在,当从选择器中选择日期时,我想返回给定日期的所有记录,而忽略时间。
我尝试过更新该FilterObjectSet
方法,但没有成功。有没有人能够成功实现这一点?
我尝试过的:(请参阅 Olegs 链接解决方案中的代码)
将 FormatMapping 设置为"(dateadd(dd,0, datediff(dd,0, it.{0})) = @p{1})"
并将 System.DateTime 添加到 switch 语句:
case "System.DateTime":
param = new ObjectParameter("p" + iParam, Convert.ToDateTime(rule.data));
break;
但这会导致 EntitySqlException:
'dateadd' cannot be resolved into a valid type or function.
有没有人有办法解决吗?