我正在尝试以编程方式过滤Kendo UI网格,但收到此错误:
TypeError:“”。toLowerCase不是函数
以下是我用来过滤网格的代码:
function filterSavedTransactions(checkboxstate,grid,field1,field2,amount)
{
if (!parseFloat(amount))
amount = 0;
if (checkboxstate) {
var ds = $('#' + grid.attr('id')).data("kendoGrid").dataSource;
ds.filter([{
"logic":"and",
filters: [
{
field: field2,
operator: "gt",
value: amount
},
{
field: field1,
operator: "neq",
value: checkboxstate
}]
}]);
}
else {
$('#' + grid.attr('id')).data("kendoGrid").dataSource.filter({});
}
}
我指的是以下链接,并以相同的方式做,但没有在我身边工作。
http://jsfiddle.net/valchev/MG89G/
请建议。
答案 0 :(得分:2)
不知何故,我在代码中进行了更改并修复了问题。我做的是我替换了代码行:value:amount with value:parseFloat(amount),它工作正常。
答案 1 :(得分:2)
我也有这个问题。将数字列添加到dataSource模式并没有解决它。
将type: 'number'
添加到列定义中也没有修复它。
最终对我有用的是parseInt()
过滤器文本,并将我的运算符从'contains'更改为'eq。'
答案 2 :(得分:0)
剑道似乎喜欢投射场。我不得不补充道:
template: function (dataItem) {
return kendo.toString(dataItem.FriendlyStatus);
}
答案 3 :(得分:0)
这对我也有用,谢谢埃布斯
$args = array(
'post_type' => 'center',
'posts_per_page' => -1,
'meta_key' => 'state',
'orderby' => 'meta_value',
'order' => 'ASC'
);