【问题标题】:Kendo MVC Grid Default Sort by Multiple Column FailsKendo MVC Grid 默认按多列排序失败
【发布时间】:2016-06-17 08:03:12
【问题描述】:

@(Html.Kendo().Grid<...>()
  .Columns(columns =>
  {
    columns.Bound(j => j.Type);
    columns.Bound(j => j.Code);
  })
  .Sortable(s => s.Enabled(true))
  .DataSource(dataSource => dataSource
    .Ajax()
    .PageSize(20)
    .Sort(p => { p.Add("Code").Ascending(); p.Add("Type").Ascending(); })
    .Model(model => model.Id(j => j.ID))
    .Read(...)
    .ServerOperation(true)
  )
)

我有一个如上所述的 Kendo MVC Grid,想先按 type 排序,然后按 code 排序。

我在 Telerik 官方论坛上找到了这样的实现:Default Grid Sorting

但它似乎无法正常工作......

记录按两列排序,显然它是按Type 排序的,但之后它无法按Code 排序...因为默认应该在CG...

我缺少什么以及如何解决问题?

【问题讨论】:

  • 有人对此有解决方案吗?我遇到了同样的问题..

标签: asp.net-mvc kendo-ui kendo-asp.net-mvc


【解决方案1】:

对于寻找解决方案的其他人,使用模型属性名称对我有用,即

       .Sort(s =>
       {
           s.Add("Code").Ascending();
           s.Add("Type").Ascending();
       })

【讨论】:

  • 奇怪的是,vs2019 甚至不允许我输入这种格式的代码。当我输入分号时,它会自动将它移到排序方法之外,直到整个代码块的末尾。
  • 这与不工作的原始代码有何不同?
【解决方案2】:

试试这个方法

.Sort(p=> {p.Add(s=>s.Code).Ascending(); p.Add(s=>s.Type).Ascending();})

【讨论】:

  • 抱歉回复晚了,我试过这种方式,但它不起作用,导致网格中的排序相同
猜你喜欢
  • 2014-09-22
  • 2014-08-21
  • 2014-12-05
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-05-10
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多