阻止用户通过输入键(组合框)选择突出显示的项目

时间:2014-02-21 08:48:05

标签: extjs4 ext.net

实际上,我正在尝试使用Ext.Net中的一个组合框从其选择列表中选择一个值。此组合框是可编辑的,用户可以键入他想要的任何值。 在选择列表时,我想阻止用户按Enter键选择突出显示的项目,让他只需通过鼠标点击选择它。为此,我试图在绑定列表“ItemKeyDown”上使用一个监听器,但它什么也没做。与鼠标相关的其他事件示例,工作正常但与键相关的所有事件都不起作用。 我不知道我是否错过了配置或什么。 任何人都可以给我任何建议让这些听众工作? 提前谢谢,

var combo = Html.X().ComboBox().DisplayField(mark).ValueField(type).Editable(true)
                    .ID(combo_id).EnableKeyEvents(true).AutoSelect(false).SelectOnFocus(true)
                    .QueryMode(DataLoadMode.Local).ValidateOnBlur(false).ValidateOnChange(false)
                    .ListcConfig(Html.X().BoundList()
                               .Listeners(l => l.ItemKeyDown.Handler = "console.log('ItemKeyDown');")); /// ItemKeyDown not displayed in console.

1 个答案:

答案 0 :(得分:1)

我发布了来自 Ext.Net支持团队的解决方案,所以如果有人将来需要它:

@(Html.X().ComboBox()
.Listeners(events => {
    events.Expand.Handler = @"this.listKeyNav.map.removeBinding({
                                  key: Ext.EventObject.ENTER
                              });";
    events.Expand.Delay = 1;
    events.Expand.Single = true;
})