Kendo网格时间格式过滤

时间:2014-03-26 10:30:22

标签: javascript kendo-ui grid

我得到了本地Json数据

var MYDATA=[{"StartTime":'19:00:12.000',"StartDate":'2014-02-11',"Name":"John"},
            {"StartTime":'20:09:15.000',"StartDate":'2014-02-11',"Name":"Alan"},
            {"StartTime":'20:22:22.000',"StartDate":'2014-02-11',"Name":"Liza"}
];

我使kendo网格具有可排序,可分组,可过滤,可重复的特性。 当我尝试过滤到StartTime时,它无法正常工作。我可以把架构模型字段类型放到时间吗?

StartTime:{ type:time}

如果我没有在架构模型中定义StartTime字段。剑道网格认为"它是字符串"。

我将其定义为日期,然后在下面的列中定义;

 { field: "StartTime", title: "Start Time" ,format: "{0:hh:mm:ss}", filterable: {
                    ui: "timepicker",

                }}

但不过滤或在我的网格中显示。

1 个答案:

答案 0 :(得分:1)

不,你必须把它作为" date"。有效数据类型包括:"字符串","数字","布尔","日期"。默认值为"字符串"。

有效类型可在此处找到:http://docs.telerik.com/kendo-ui/api/framework/model#methods-Model.define

此处示例:http://jsfiddle.net/OnaBai/B8G6X/

var MYDATA=[
    {"StartTime":'19:00:12.000',"StartDate":'2014-02-11',"Name":"John"},        
    {"StartTime":'20:09:15.000',"StartDate":'2014-02-11',"Name":"Alan"},
    {"StartTime":'20:22:22.000',"StartDate":'2014-02-11',"Name":"Liza"}
];

var ds = new kendo.data.DataSource({
    data : MYDATA,
    schema : {
        model : {
            fields : {
                StartTime : { type : "date" },
                StartDate : { type : "date" },
                Name : { type : "string" },
            }
        }
    },
    pageSize: 10
});

var grid = $("#grid").kendoGrid({
    dataSource: ds,
    editable  : false,
    sortable  : true,
    pageable  : true,
    columns   :
    [
        { field: "StartTime", title: "Time", format : "{0:HH:mm:ss}" },
        { field: "StartDate", title: "Date", format : "{0:yyyy-MM-dd}" },
        { field: "Name", width: 200 }
    ]
}).data("kendoGrid");