首页 文章

INSID上的Telerik RadGrid FilterDelay属性回发

提问于
浏览
2

我想我已经搞砸了,但我想我会希望也许有人知道我在Google上找不到的魔法 .

我有一个RadGrid设置来过滤具有FilterDelay =“500”值集的列 . 当有人在过滤器框中键入内容时(在指定的延迟之后),FilterDelay会导致网格自动进行回发 . 它基本上是一个自动过滤器(无需单击“确定”或其他按钮来激活过滤器) .

我挖掘了这个功能 - 但它干扰了我的应用程序的另一个功能,这对我来说更重要 - 我捕获INS键,以便用户可以随时按INS以向网格添加新行 .

问题是,如果设置了FilterDelay,它会将INS键视为来自用户的击键并执行回发 - 即使用户没有以任何方式更改过滤器文本框中的文本 . 这会强制刷新页面并取消我的添加行功能 .

我会称这是RadGrid中的一个错误 . 它应该仅在过滤器文本框中的字符串更改时回发 . 该函数应忽略不可打印的字符,如INS(或UP / DOWN / CAP LOCK /等) .

所以问题是:是否有人有任何聪明的想法可以帮助我解决这个问题?

1 回答

  • 1

    不确定你将如何做到这一点,但在RadGrid的 ClientSettings ClientEvents 你可以处理 OnCommand 事件 . 从那里,您可以检测到 Filter 事件

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

    从那里,如果你能以某种方式知道按下INS键,你可以取消过滤器事件

    eventArgs.set_cancel(true);

相关问题