おそらく、監視可能な配列の代わりに計算された配列を使用するように彼のビューモデルを変更できますか?
これが例です
self.list = ko.observableArray(initialData);
self.sortProperty = ko.observable('propertyNameInRowObject');
self.sortedList = ko.computed( function() {
var sorted = self.list.sort( self.sortFn );
return sorted;
};
self.sortFn = function(a, b) {
if ( a[self.sortProperty()] > b[self.sortProperty()] ) {
return 1
}
else if ( a[self.sortProperty()] < b[self.sortProperty()] ) {
return -1
}
else {
return 0
}
}
self.onColumnClicked = function(e) {
var colName = e.target.Name; // probably something like this...
if ( colName === 'xyz' ) {
self.sortProperty('xyzProperty');
}
}
申し訳ありませんが、私の JavaScript は少し錆びています。ほとんどの作業は coffeescript で行っています。