在剑道模板中格式化日期

时间:2016-08-03 16:15:03

标签: kendo-ui telerik kendo-grid telerik-grid kendo-template

我试图在我的Kendo ListView模板中格式化我的DateTime对象,但建议的kendo.toString方法似乎对我不起作用。

我已经删除了许多与我的问题无关的代码,以使其更容易理解。

我有Kendo DataSource,如下所示:

contactDataSource: new kendo.data.DataSource({
    transport: {
        read: {
            url: "/baa/contact/getcontacts",
            dataType: "json",
            type: "GET"
        }
     },
     schema: {
        model: {
            id: "Id",
            fields: {
                Id: { type: "number", editable: false, nullable: true },
                CompanyName: { type: "string" },
                ContactName: { type: "string" },
                ContactPhone: { type: "string" },
                ContactEmail: { type: "string" },
                ImageUrl: { type: "string" },
                Website: { type: "string" },
                RecentBaas: [
                    {
                        Name: { type: "string" },
                        StatusDisplay: { type: "string" },
                        Status: { type: "number" },
                        LastModDate: { type: "date" }
                    }
                ]
            }
        }
    }
})

然后我的视图中有一个模板,如下所示:

<script type="text/x-kendo-templ" id="contactTemplate">
    <div class="row">
        <div class="col-md-12">
            # for (var i = 0; i < RecentBaas.length; i++) { #
            # if (RecentBaas[i].Status == 1) { #
                <div class="alert alert-success" role="alert">
                    <p>#=kendo.toString(RecentBaas[i].LastModDate, "F")#</p>
                </div>
            # } #
            # } #
        </div>
    </div>
</script>

我在加载此页面时没有在控制台中收到任何错误,但日期根本没有格式化。它仍然只显示为/Date(1461203814927)/

我已经阅读了Kendo文档,了解如何使用toString函数格式化DateTime个对象,据我所知,我做的一切都是正确的。但也许我还缺少一些东西?

1 个答案:

答案 0 :(得分:7)

请尝试使用以下代码段。

<script type="text/x-kendo-templ" id="contactTemplate">
    <div class="row">
        <div class="col-md-12">
            # for (var i = 0; i < RecentBaas.length; i++) { #
            # if (RecentBaas[i].Status == 1) { #
                <div class="alert alert-success" role="alert"> <p>#=kendo.toString(kendo.parseDate(RecentBaas[i].LastModDate), 'yyyy-MM-dd')#</p>
                </div>
            # } #
            # } #
        </div>
    </div>
</script>

如果它不起作用,请告诉我