Kendo 过滤已解析的输入值
Kendo Filter on parsed input value
我的例子:http://dojo.telerik.com/oWABE/2
这里我有一个包含 "status" 的数据对象,它是一个整数! (它是 1,2 或 3)
在我的网格中,屏蔽了新的、待处理的和已关闭的
为了显示字符串(New、Pending 和 Closed),我在 shema 中创建了一个解析函数 -> 为了过滤以处理解析值,不能在列定义中使用模板,但必须解析它在数据源中!
Status: { type: "int",
parse: function(status) {
console.log(status,"stat");
switch(status){
case 1: return"New"; break;
case 2: return"Pending"; break;
case 3: return"Solved"; break;
case 5: return"Closed"; break;
}
}
},
当这个解析器被调用时有一个 "console.log",我注意到它是在之后!我过滤 "New" 日志显示:
n stat
undefined "stat"
...当我第一次 运行 日志读取的页面时(如预期的那样):
1 "stat"
2 "stat"
3 "stat"
过滤器不起作用(以 "New" 为例)
有什么帮助吗?
我不确定这是否正确,但试试这个例子:
.kendoDropDownList({
dataSource: new kendo.data.DataSource({
data: [
{ title: "Software Engineer" },
{ title: "Quality Assurance Engineer" },
{ title: "Team Lead" }
]
}),
dataTextField: "title",
dataValueField: "title"
});
"schema.parse option"需要用到!
dataSource: {
data: data,
schema: {
parse: function(response) {
var products = [];
for (var i = 0; i < response.length; i++) {
switch(response[i].Status){
case 1: response[i].Status = "New"; break;
case 2: response[i].Status = "Pending"; break;
case 3: response[i].Status = "Solved"; break;
case 5: response[i].Status = "Closed"; break;
}
console.log(response[i]);
products.push(response[i]);
}
return products;
},
model: {
fields: {
OrderID: { type: "number" },
Status: { type: "string"},
ShipCountry: { type: "string" }
}
}
}
},
这是来自 Kendo 的答案:http://www.telerik.com/forums/kendo-filter-on-parsed-input-value
我的例子:http://dojo.telerik.com/oWABE/2
这里我有一个包含 "status" 的数据对象,它是一个整数! (它是 1,2 或 3)
在我的网格中,屏蔽了新的、待处理的和已关闭的
为了显示字符串(New、Pending 和 Closed),我在 shema 中创建了一个解析函数 -> 为了过滤以处理解析值,不能在列定义中使用模板,但必须解析它在数据源中!
Status: { type: "int",
parse: function(status) {
console.log(status,"stat");
switch(status){
case 1: return"New"; break;
case 2: return"Pending"; break;
case 3: return"Solved"; break;
case 5: return"Closed"; break;
}
}
},
当这个解析器被调用时有一个 "console.log",我注意到它是在之后!我过滤 "New" 日志显示:
n stat
undefined "stat"
...当我第一次 运行 日志读取的页面时(如预期的那样):
1 "stat"
2 "stat"
3 "stat"
过滤器不起作用(以 "New" 为例)
有什么帮助吗?
我不确定这是否正确,但试试这个例子:
.kendoDropDownList({
dataSource: new kendo.data.DataSource({
data: [
{ title: "Software Engineer" },
{ title: "Quality Assurance Engineer" },
{ title: "Team Lead" }
]
}),
dataTextField: "title",
dataValueField: "title"
});
"schema.parse option"需要用到!
dataSource: {
data: data,
schema: {
parse: function(response) {
var products = [];
for (var i = 0; i < response.length; i++) {
switch(response[i].Status){
case 1: response[i].Status = "New"; break;
case 2: response[i].Status = "Pending"; break;
case 3: response[i].Status = "Solved"; break;
case 5: response[i].Status = "Closed"; break;
}
console.log(response[i]);
products.push(response[i]);
}
return products;
},
model: {
fields: {
OrderID: { type: "number" },
Status: { type: "string"},
ShipCountry: { type: "string" }
}
}
}
},
这是来自 Kendo 的答案:http://www.telerik.com/forums/kendo-filter-on-parsed-input-value