剑道UI网格- -默认排序日期

本文关键字:排序 日期 默认 剑道 网格 UI | 更新日期: 2023-09-27 18:15:53

我正在使用剑道UI,并且正在寻找按升序日期默认排序我的网格,但无法弄清楚如何修改此。我的理解是它是数据源部分的一部分:

@(Html.Kendo().Grid<CustomerAnimalViewModel>()
                .Name(gridId)
                .HtmlAttributes(new { @class = "grid" })
                .Columns(columns =>
                {
                    columns.Bound(c => c.AnimalId).Visible(false);
                    columns.Bound(c => c.RegistrationNumber).ClientTemplate("<a class='active' href=javascript:viewAnimal('"" + "#: AnimalId #" + "'",'"" + "#=escape(Name) #" + "'")  >#: RegistrationNumber #</a>");
                    columns.Bound(c => c.Type);
                    columns.Bound(c => c.Prefix);
                    columns.Bound(c => c.Name);
                    columns.Bound(c => c.DateOfBirth).ClientTemplate("#= kendo.toString(DateOfBirth == null ? '' : DateOfBirth, '" + Constants.DateFormat + "') #");
                    columns.Bound(c => c.Sex);
                    columns.Bound(c => c.HMC);
                    columns.Bound(c => c.Usability).Visible(false);
                    columns.Bound(c => c.Status);
                    columns.Command(command => { command.Destroy(); }).Title(Resources.Actions);
                })
                .DataSource(dataSource => dataSource
                    .Ajax()
                    .Model(model =>
                    {
                        model.Id(p => p.AnimalId);
                        model.Field(p => p.RegistrationNumber);
                        model.Field(p => p.Type);
                        model.Field(p => p.Prefix);
                        model.Field(p => p.Name);
                        model.Field(p => p.Status);
                        model.Field(p => p.Sex);
                        model.Field(p => p.HMC);
                        model.Field(p => p.Usability);
                        model.Field(p => p.Status);
                    })
                    .Read(read => read.Action("ReadTypes", "Customer").Data("filterData"))
                    .Destroy(destroy => destroy.Action("DeleteAnimal", "Customer"))
                )
                .Navigatable()
                .Sortable()
                .Filterable()
                .Pageable()
           )

剑道UI网格- -默认排序日期

add .Sort(x=>x.Add("DateOfBirth").Ascending()) in dataSource

@(Html.Kendo().Grid<CustomerAnimalViewModel>()
                    .Name(gridId)
                    .HtmlAttributes(new { @class = "grid" })
                    .Columns(columns =>
                    {
                        columns.Bound(c => c.AnimalId).Visible(false);
                        columns.Bound(c => c.RegistrationNumber).ClientTemplate("<a class='active' href=javascript:viewAnimal('"" + "#: AnimalId #" + "'",'"" + "#=escape(Name) #" + "'")  >#: RegistrationNumber #</a>");
                        columns.Bound(c => c.Type);
                        columns.Bound(c => c.Prefix);
                        columns.Bound(c => c.Name);
                        columns.Bound(c => c.DateOfBirth).ClientTemplate("#= kendo.toString(DateOfBirth == null ? '' : DateOfBirth, '" + Constants.DateFormat + "') #");
                        columns.Bound(c => c.Sex);
                        columns.Bound(c => c.HMC);
                        columns.Bound(c => c.Usability).Visible(false);
                        columns.Bound(c => c.Status);
                        columns.Command(command => { command.Destroy(); }).Title(Resources.Actions);
                    })
                    .DataSource(dataSource => dataSource
                        .Ajax()
                        .Sort(x=>x.Add("DateOfBirth").Ascending())
                        .Model(model =>
                        {
                            model.Id(p => p.AnimalId);
                            model.Field(p => p.RegistrationNumber);
                            model.Field(p => p.Type);
                            model.Field(p => p.Prefix);
                            model.Field(p => p.Name);
                            model.Field(p => p.Status);
                            model.Field(p => p.Sex);
                            model.Field(p => p.HMC);
                            model.Field(p => p.Usability);
                            model.Field(p => p.Status);
                        })
                        .Read(read => read.Action("ReadTypes", "Customer").Data("filterData"))
                        .Destroy(destroy => destroy.Action("DeleteAnimal", "Customer"))
                    )
                    .Navigatable()
                    .Sortable()
                    .Filterable()
                    .Pageable()
               )

单列排序:

@(Html.Kendo().Grid<T>()
    .Name("grid")
    .DataSource(dataSource => dataSource
        .Ajax()
        .Sort(x=>x.Add("DateOfBirth").Ascending())
    ....)    

多列排序:

@(Html.Kendo().Grid<T>()
    .Name("grid")
    .Sortable(sortable => sortable.SortMode(GridSortMode.MultipleColumn))
    .DataSource(dataSource => dataSource
        .Ajax()
        .Sort(s =>
                {
                    s.Add(l => l.F_NAME).Descending();
                    s.Add(l => l.L_NAME).Descending();                        
                })
    ....)

您的数据源是在发送到网格之前需要排序的内容。

在你的"ReadTypes"的行动,你可能会得到一个列表的CustomerAnimalViewModel。您可以使用linq查询

列表
.OrderBy(d => d.DateOfBirth)