我在新的 Alloy 实现中定义了一个 Appcelerator DataGrid,它依赖于 Backbone 框架。我已经成功实现了一个水平和垂直滚动的 DataGrid,它还通过 REST 查询将数据集合数据绑定到 DataGrid,并允许用户在触摸列标题时对网格进行排序。
我遇到的一个问题是这个。在使用 Backbone 模型实现实现数据模型时,我使用比较器对数据模型进行升序排序。我还扩展了模型以允许用户定义排序标准(为过滤器传递列定义)。
这是问题。我知道网格何时按升序排序。是否可以在 Backbone 模型中定义第二个比较器,然后它会以相反的顺序排序,所以如果用户使用我可以按降序排序(本质上是创建两个比较器)?我见过有关反向排序的问题,但没有看到在一个模型中允许两个比较器选项。
我为 Appcelerator 遵循的通用模型是他们的示例:
exports.definition = {
config : {
// table schema and adapter information
},
extendModel: function(Model) {
_.extend(Model.prototype, {
// Extend, override or implement the Backbone.Model methods
});
return Model;
},
extendCollection: function(Collection) {
_.extend(Collection.prototype, {
// Implement the comparator method.
comparator : function(book) {
return book.get('title');
}
}); // end extend
return Collection;
}
}
考虑到上述情况,如果可能的话,我只想对比较器的第二次访问基本上对标题进行反向排序。
感谢您的任何指导。
克里斯。