我有一个 MVC 站点,我使用 Kendo UI 和 knockout.js 来显示页面。一种情况是通过服务器从服务器获取数据库信息$.getJSON
,然后在 KendoUI 网格上显示此信息。
<div data-bind="kendoGrid:{sortable:true, data:users, rowTemplate:'userRowTemplate'}>
<table>
<thead>
<tr>
<th>Username</th>
<th>First Name</th>
<th>Last Name</th>
</tr>
</thead> </table>
</div>
<script type="text/html">
<tr>
<td data-bind="text: Username"></td>
<td data-bind="text: FirstName"></td>
<td data-bind="text: LastName"></td>
<tr>
</script>
和 javascript :
<script type="text/javascript">
var ViewModel = function () {
var self=this;
self.users=ko.mapping.fromJS([]);
$getJSON("/UserManagementController/GetUsers",function(data){
ko.mapping.fromJS(data,{},self.users);
});
};
$(document).ready(function(){
var newViewModel=new ViewModel();
ko.applyBindings(newViewModel);
});
</script>
我希望这些数据可以在特定列上排序(例如,这里指定的列是为了),但我无法成功实现这一点。我已经尝试了来自这个 knockout-kendo plugin issue post的解决方案,它适用于简单的对象,但不适用于可观察对象。所以我的问题是:如何通过 MVC 控制器将数据库中的数据映射到淘汰赛中的 observables 并在 Kendo 网格中显示它们,但仍然能够对它们进行排序?
谢谢,亚历克斯巴拉克