在telerik Grid中显示日期而不是DateTime

时间:2012-04-25 09:42:58

标签: c# asp.net-mvc-3 datetime telerik-grid

我在我的Asp.Net MVC3应用程序中使用telerik网格,我想将格式为dd / mm / yyyy的日期绑定到网格的一列,如下所示:

Html.Telerik().Grid<TestResults>()
    .Name("TestResultGrid")
    .DataKeys(keys => keys.Add(c => c.SourceProgramId))
    .Columns(columns =>
        {
            columns.Bound(c => c.OriginalSourceProgramId).Title("Original Case ID").Width("90").Visible(IsOriginalCaseIdVisible);
            columns.Bound(c => c.SourceProgramId).Title("Source Program ID").Width  ("90").Visible(!IsOriginalCaseIdVisible);
           columns.Bound(c => c.Name).Title("Name").Width("140");
            columns.Bound(c => c.Points).Title("Points").Width("50");
            columns.Bound(c => c.ProgramName).Title("Program").Width("80");
            columns.Bound(c => c.DOB).Title("Created Date").Width("80");
        })
    .DataBinding(dataBinding =>
            dataBinding.Ajax()
                .Select("_TestResutls", "Test"))
    .ClientEvents(events => events
    .OnDataBinding("Grid_onDataBinding")
    .OnDataBound("Grid_onDataBound")
    .OnRowDataBound("onRowDataBound")
    .OnRowSelect("onRowSelected"))
    .Pageable(paging => paging.PageSize(10))
    .NoRecordsTemplate("<b>No Records to display.<b>")
    .Sortable()
    .Selectable()
    .HtmlAttributes(new { @class = "grid_table" })
    .Footer(true)
    .Render();

DOB的dataType是DateTime?。我想显示格式日期dd / mm / yyyy。我可以将它转换为ToString()来实现这一点,但我已经对此列进行了排序。当我按此列排序时,它将值视为字符串而不返回预期结果。此列可以为空,因此我也无法使用DOB.Date方法。有什么帮助吗?

1 个答案:

答案 0 :(得分:10)

你应该可以做columns.Bound(c =&gt; c.DOB).Format(“{0:dd / MM / yyyy}”)。标题(“创建日期”)。宽度(“80” );

希望有所帮助