Jquery 在剑道网格中获取异常
我得到一个例外: {“至少一个对象必须实现IComparable.” 当我在剑道网格中按特定列排序时Jquery 在剑道网格中获取异常,jquery,asp.net-mvc,kendo-ui,kendo-grid,Jquery,Asp.net Mvc,Kendo Ui,Kendo Grid,我得到一个例外: {“至少一个对象必须实现IComparable.” 当我在剑道网格中按特定列排序时 @(Html.Kendo().Grid((IEnumerable<xxy>)(Model)) .Name("technologyGrid") columns.Bound(skills => skills.Employees).Title("Number of Tagged Employees").Template( @<label
@(Html.Kendo().Grid((IEnumerable<xxy>)(Model))
.Name("technologyGrid")
columns.Bound(skills => skills.Employees).Title("Number of Tagged Employees").Template(
@<label>
@{
var total = item.Employees.Count();
@Html.Label(total.ToString())
}
</label>).Width(50);
columns.Bound(skills => skills.Projects).Title("Number of Tagged Projects").Template(
@<label>
@{
var total = item.Projects.Count();
@Html.Label(total.ToString())
}
</label>).Width(50);
})
.Scrollable()
.Pageable(pageable => pageable)
.Refresh(true)
.PageSizes(true)
.ButtonCount(5))
.Sortable(sortable => sortable.AllowUnsort(false))
@(Html.Kendo().Grid((IEnumerable)(Model))
.名称(“技术网格”)
columns.Bound(skills=>skills.Employees).Title(“标记的员工数”).Template(
@
@{
var total=item.Employees.Count();
@Html.Label(total.ToString())
}
).宽度(50);
columns.Bound(skills=>skills.Projects).Title(“标记项目的数量”).Template(
@
@{
var total=item.Projects.Count();
@Html.Label(total.ToString())
}
).宽度(50);
})
.Scrollable()
.Pageable(Pageable=>Pageable)
.刷新(真)
.页面大小(真)
.按钮计数(5))
.Sortable(Sortable=>Sortable.alloworst(false))
如何解决此异常?排序时,将列绑定到的值将成为列的默认排序值。您的员工和项目需要一个比较器函数,或者您需要找到另一种方式对列(名称或id)进行排序。不需要实现IComparable的简单类型(string、int等)会自动排序 将计算计数或排序顺序字段添加到技能列表中会起作用:
columns.Bound(skills => skills.EmployeeCount)
columns.Bound(skills => skills.ProjectCount)
我还没有尝试过这个,但是,它可能会起作用:
columns.Bound(skills => skills.Employees.Count)