2012-12-07 101 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錯誤不應該被拋出。