2014-02-21 24 views
1

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

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. 
+0

只是好奇,你为什么不您是否希望用户通过按Enter键进行选择? – forgivenson

+0

我刚注意到控制台在处理程序中拼写了大写字母C.难道你试图使用一个不存在的控制台,因为区分大小写?这就是为什么你没有看到它被记录? – Hardrada

+0

我验证了我的代码,我只是在这里输入错误。我编辑它 – I3i0

回答

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; 
}) 

+0

这是[链接到相关的Ext.NET论坛主题](http://forums.ext.net/showthread.php?28176-CLOSED-Bound-list-listeners&p=125616&viewfull=1#post125616)for引用。 –

相关问题