2012-12-07 54 views
2

我在学习Kendo UI,并且看到了一些非常奇怪的东西。我使用Starts with函数过滤了一列,并在文本框中键入了一个字符串。但是当我点击Filter时,请求甚至没有发送到服务器,并且永远显示一个微调框。我得到的错误是:Kendo UI网格过滤器有问题吗?

Uncaught TypeError: Cannot call method 'toLowerCase' of null 

在给定的列中也有一些空值。我是否应该将它们的值设置为“”或其他临时值以防止此错误发生?这是解决这个问题的最佳解决方法吗?

我是否正确,当我说这是一个Kendo UI bug?如果是这样,这是一个已知的问题吗?如果是这样,有人知道这个问题什么时候解决?

编辑: 显然,如果我的数据源在服务器端包含“”而不是null,那么我不会遇到这个错误,但总是密切关注我的数据源以更改所有的零至 ””。我知道该函数被调用来实现不区分大小写,但它有一个错误,使网格的使用稍微不舒服。

+0

这可能实际上是DataSource而非Grid的问题。尝试使用您在网格上使用的DataSource,并在其上调用'.filter()',并传入一个过滤器,该过滤器代表您在过滤器菜单中选择的内容。例如:'myDataSource.filter({field:“Name”,operator:“startswith”,value:“Bob”});' – CodingWithSpike

+0

我在客户端过滤中遇到同样的问题。在我看来这是一个错误。在服务器端转换为“”可以为我解决它。 – rufo

+0

是的,这是解决方案,请参阅接受的答案。 –

回答

2

您的网格是否配置为使用客户端过滤?如果是,那么我建议你将数据数据字段从null更改为空字符串。

如果你使用的是服务器过滤,那么这个JavaScript错误不应该被抛出。