我有一個MVC網站,我使用Kendo UI和knockout.js來顯示頁面。一種情況是通過$.getJSON
從服務器獲取數據庫信息,然後在KendoUI網格上顯示此信息。Kendo UI和knockout.js rowTemplate排序
<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>
我想這個數據是在特定列排序(此處指定的有例如的緣故),但我一直沒能成功做到這一點。我嘗試了this knockout-kendo plugin issue post的解決方案,該解決方案在簡單對象上運行良好,但不適用於observables。所以我的問題是:如何通過MVC控制器將數據從數據庫映射到knockout中的observables並將它們顯示在Kendo網格中,但是仍然能夠對它們進行排序?
謝謝, 亞歷克斯·巴拉克