5

Asp.Net MVC3アプリケーションでtelerikグリッドを使用していて、次のように、形式dd / mm/yyyyの日付をグリッドの列の1つにバインドしたいと思います。

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()に変換することもできますが、この列で並べ替えを行っています。この列で並べ替えると、値が文字列として扱われ、期待される結果が返されません。この列はnull許容であるため、DOB.Dateメソッドも使用できません。何か助けはありますか?

4

1 に答える 1

11

columns.Bound(c => c.DOB).Format( "{0:dd / MM / yyyy}")。Title( "Created Date")。Width( "80");を実行できるはずです。

お役に立てば幸い

于 2012-04-25T09:52:18.963 に答える