【问题标题】:Telerik RadGrid FilterDelay property postbacks on INS keyTelerik RadGrid FilterDelay 属性回发 INS 键
【发布时间】:2011-05-20 22:09:47
【问题描述】:

我想我在这里搞砸了,但我想我会问,希望也许有人知道一些我在 Google 上找不到的魔法。

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

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

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

我认为这是 RadGrid 中的一个错误。如果过滤器文本框中的字符串发生更改,它应该只回发。该函数应忽略不可打印的字符,例如 INS(或 UP/DOWN/CAP LOCK/etc)。

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

【问题讨论】:

  • 您是否向 Telerik 团队报告了这一情况?他们可能会提示您如何绕过它或考虑更改下一个网格版本的自动过滤器。

标签: asp.net telerik radgrid


【解决方案1】:

不确定你会怎么做,但是在 RadGrid 的 ClientSettings ClientEvents 中你可以处理 OnCommand 事件。从那里,您可以检测到 Filter 事件

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

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

eventArgs.set_cancel(true);

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-11-27
    • 1970-01-01
    • 2011-01-07
    • 1970-01-01
    • 2017-02-20
    • 2015-05-02
    相关资源
    最近更新 更多