日期格式在重新加载kendo网格时重置

时间:2016-02-15 11:42:13

标签: javascript html kendo-ui grid kendo-grid

我在使用kendo网格时遇到了问题。当我使用新数据刷新kendo网格时,具有日期格式的列将更改为默认的kendo格式。

$("#refreshbtn").click(function(){

    $("#grid").data("kendoGrid").dataSource.data(createRandomDataOnRefresh(10));

});

请查看此jsfiddle

提前致谢。

2 个答案:

答案 0 :(得分:2)

根据this post,这是预期的行为(我不明白为什么)。因此,在您的情况下,您可以通过两种方式解决问题:

  1. 使用kendo.parseDate()Date属性解析为剑道日期对象:

    您必须只处理结果数据并解析Date属性:

    $("#refreshbtn").click(function() {
        var data = createRandomDataOnRefresh(10);
    
        for (var i = 0; i < data.length; i++) 
        {
            data[i].Date = kendo.parseDate(data[i].Date);
        }
    
        $("#grid").data("kendoGrid").dataSource.data(data);
    });
    

    Working Demo

  2. 使用dataSource.transport.read作为功能:

    transport: {
        read: function(options) {
            options.success(createRandomDataOnRefresh(10));
        }
    }
    

    因此,每当您单击刷新按钮(下面的代码)时,它将再次读取,就好像它是从远程源读取一样,并以正确的方式再次解析所有数据。

    $("#refreshbtn").click(function() {
        $("#grid").data("kendoGrid").dataSource.read();
    });
    

    Working Demo

  3. 现在取决于你。我希望这会有所帮助。

答案 1 :(得分:0)

var kendoGrid =$("#grid").data("kendoGrid");
kendoGrid.dataSource.data(createRandomDataOnRefresh(10));
kendoGrid.dataSource.read();
kendoGrid.refresh();

JSFiddle