错误过滤Kendo UI网格

时间:2014-10-15 09:12:10

标签: javascript jquery kendo-ui

我正在尝试以编程方式过滤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/

请建议。

4 个答案:

答案 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'
);