Kendo UIとknockout.jsを使用してページを表示するMVCサイトがあります。1 つのシナリオは、サーバーからデータベース情報を取得し、$.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>
このデータを特定の列で並べ替え可能にしたい (ここで指定されている列は例のためのものです) が、これをうまく達成できませんでした。このノックアウト剣道プラグインの問題投稿の解決策を試しましたが、単純なオブジェクトではうまく機能しますが、オブザーバブルでは機能しません。だから私の質問は:データベースからMVCコントローラーを介してデータをノックアウトでオブザーバブルにマップし、それらを剣道グリッドに表示する方法ですが、それでもそれらを並べ替えることができますか?
ありがとう、アレックス・バラク