2011-05-20 16 views
2

我想我在這裏搞砸了,但我想我會問,希望有人知道我在Google上找不到的一些魔法。Telerik RadGrid FilterDelay屬性回傳INS鍵

我有一個RadGrid設置來過濾FilterDelay =「500」值設置的列。當某人在過濾器框中輸入某些內容(在指定的延遲之後)時,FilterDelay會導致網格自動執行回發。它基本上是一個自動過濾器(不需要點擊確定或其他按鈕來激活過濾器)。

我挖掘了這一功能 - 但它干擾了我的應用程序的另一個功能,這對我來說更爲重要 - 我捕獲INS鍵,以便用戶可以隨時按INS以向網格添加新行。

問題是,使用FilterDelay設置時,它將INS鍵視爲用戶的擊鍵並執行回發 - 即使用戶沒有以任何方式更改過濾器文本框中的文本。這會強制刷新頁面並取消我的添加行功能。

我會稱之爲RadGrid中的一個錯誤。如果過濾器文本框中的字符串發生更改,它只應回發。不可打印字符如INS(或UP/DOWN/CAP LOCK /等)應該被功能忽略。

所以這個問題:有沒有人有任何聰明的想法,可以幫助我解決這個問題?

+0

有你向Telerik團隊報告?他們可能會給你一個提示如何繞過或者考慮改變下一個網格版本的自動過濾器。 – 2011-05-24 16:33:44

回答

1

不知道你究竟會怎麼做,但在radgrid控件的ClientSettings ClientEvents可以處理按需事件。從那裏,你可以檢測過濾事件

if(eventArgs.get_commandName() == "Filter")

從那裏,如果你能以某種方式知道INS鍵被按下,可以取消過濾事件

eventArgs.set_cancel(true);