List 中的排序函数从未调用过
Sorter Function in List never called
我试图在 qx.data.controller.List
中实现 qx.ui.list.core.IListDelegate.sorter
函数。我使用特定的排序功能设置控制器的委托。问题是,排序器函数从未被调用过。
var list = new qx.ui.form.List();
var rawData = [];
for (var i = 0; i < 10; i++) {
rawData.push(i);
}
var data = new qx.data.Array(rawData);
var listController = new qx.data.controller.List(data, list);
listController.setDelegate({
sorter : function(a, b) {
console.log("test");
if (Number(a.getLabel()) > Number(b.getLabel())) {
return 1;
}
if (Number(a.getLabel()) < Number(b.getLabel())) {
return -1;
}
return 0;
}
});
// Document is the application root
var doc = this.getRoot();
doc.add(list,
{
left : 100,
top : 50
});
这是 qx 游乐场中的示例:tinyurl。com/y6udac8g
qx.ui.list.core.IListDelegate.sorter
用于配置qx.ui.list.List
而不是qx.ui.form.List
。
检查文档中的example以使用qx.ui.list.List
class
的sorter
功能
//create the model data
var rawData = [];
for (var i = 0; i < 2500; i++) {
rawData[i] = "Item No " + i;
}
var model = qx.data.marshal.Json.createModel(rawData);
//create the list
var list = new qx.ui.list.List(model);
//configure the lists's behavior
var delegate = {
sorter : function(a, b) {
return a > b ? 1 : a < b ? -1 : 0;
}
};
list.setDelegate(delegate);
//Pre-Select "Item No 20"
list.getSelection().push(model.getItem(20));
//log selection changes
list.getSelection().addListener("change", function(e) {
this.debug("Selection: " + list.getSelection().getItem(0));
}, this);
我试图在 qx.data.controller.List
中实现 qx.ui.list.core.IListDelegate.sorter
函数。我使用特定的排序功能设置控制器的委托。问题是,排序器函数从未被调用过。
var list = new qx.ui.form.List();
var rawData = [];
for (var i = 0; i < 10; i++) {
rawData.push(i);
}
var data = new qx.data.Array(rawData);
var listController = new qx.data.controller.List(data, list);
listController.setDelegate({
sorter : function(a, b) {
console.log("test");
if (Number(a.getLabel()) > Number(b.getLabel())) {
return 1;
}
if (Number(a.getLabel()) < Number(b.getLabel())) {
return -1;
}
return 0;
}
});
// Document is the application root
var doc = this.getRoot();
doc.add(list,
{
left : 100,
top : 50
});
这是 qx 游乐场中的示例:tinyurl。com/y6udac8g
qx.ui.list.core.IListDelegate.sorter
用于配置qx.ui.list.List
而不是qx.ui.form.List
。
检查文档中的example以使用qx.ui.list.List
class
sorter
功能
//create the model data
var rawData = [];
for (var i = 0; i < 2500; i++) {
rawData[i] = "Item No " + i;
}
var model = qx.data.marshal.Json.createModel(rawData);
//create the list
var list = new qx.ui.list.List(model);
//configure the lists's behavior
var delegate = {
sorter : function(a, b) {
return a > b ? 1 : a < b ? -1 : 0;
}
};
list.setDelegate(delegate);
//Pre-Select "Item No 20"
list.getSelection().push(model.getItem(20));
//log selection changes
list.getSelection().addListener("change", function(e) {
this.debug("Selection: " + list.getSelection().getItem(0));
}, this);