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

Posted

技术标签:

【中文标题】日期格式在重新加载剑道网格时重置【英文标题】:Date format is reseting on reloading kendo grid 【发布时间】:2016-05-26 07:26:30 【问题描述】:

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

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

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

);

请查看此jsfiddle。

提前致谢。

【问题讨论】:

【参考方案1】:

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

    要将Date 属性解析为带有kendo.parseDate() 的剑道日期对象:

    您只需处理您的结果数据并解析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

    dataSource.transport.read 用作函数:

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

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

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

    Working Demo.

现在由您决定。我希望这会有所帮助。

【讨论】:

【参考方案2】:
var kendoGrid =$("#grid").data("kendoGrid");
kendoGrid.dataSource.data(createRandomDataOnRefresh(10));
kendoGrid.dataSource.read();
kendoGrid.refresh();

JSFiddle

【讨论】:

你检查过你的刷新按钮了吗? 我认为这不是 OP 所期望的行为,而是 np,gl。

以上是关于日期格式在重新加载剑道网格时重置的主要内容,如果未能解决你的问题,请参考以下文章

剑道网格日期格式

日期列中的剑道网格格式时间问题[重复]

剑道网格中的 JavaScript 日期

kendo ui 网格数据源过滤器日期格式

在剑道的日期管道中包含变量值(动态格式):AngularJS

剑道网格显示奇怪的日期时间而不是 null