我正在尝试使用此处显示的kendo网格日期过滤器:http://demos.kendoui.com/web/grid/filter-menu-customization.html
我没有看到任何关于如何使用Razor语法执行此操作的好例子。
他们展示的唯一例子是使用javascript:
{
field: "BirthDate",
title: "Birth Date",
format: "{0:MM/dd/yyyy HH:mm tt}",
filterable: {
ui: "datetimepicker"
}
}
我尝试在我的专栏上执行此操作,但它不起作用:
cols.Bound(c => c.DateOfServiceString).Title("Assessment Date").Filterable(filterable => filterable.UI("datetimepicker"));
答案 0 :(得分:0)
我有一种感觉我偶然发现了这个问题 - 尝试在Grid Helper之后添加这个JS代码段。
<script type="text/javascript">
function datetimepicker(control) {
$(control).kendoDateTimePicker();
}
</script>
答案 1 :(得分:0)
我的代码工作正常。我已将列类型定义为日期,并将日期字符串转换为Date对象。
以下是定义列
的代码column.field= 'c5',
column.title= "Date",
column.type = 'date',
column.template = '#= kendo.toString(c5, "g" ) #';
column.filterable = {
operators: {
date: {
lt: "Lesser than",
gt: "Greater than"
}
}
}
从服务器获取数据后,我将其转换为Date对象。
vm.feedbacks = [];
rows.forEach(function (row) {
row.forEach(function (column, index) {
var key = 'c' + index;
feedback[key] = column;
if (gridColumns.gridAllColumns[index].type === 'date') {
feedback[key] = new Date(column);
};
});
vm.feedbacks.push(feedback);
});
答案 2 :(得分:0)
可以在kendo演示页面中查看cshtml代码。 这是您需要的链接。 http://demos.telerik.com/aspnet-mvc/grid/filter-menu-customization 另外,我相信如果数据以DateTime形式出现,kendo会自动将其转换为javascript日期对象。希望这会有所帮助。