剑道网格日期过滤器

时间:2013-09-17 22:51:25

标签: kendo-grid

我正在尝试使用此处显示的kendo网格日期过滤器:http://demos.kendoui.com/web/grid/filter-menu-customization.html

enter image description here

我没有看到任何关于如何使用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"));

3 个答案:

答案 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日期对象。希望这会有所帮助。