`
elstage
  • 浏览: 79840 次
  • 性别: Icon_minigender_1
  • 来自: 地球
社区版块
存档分类
最新评论

Ext2中Grid实现键盘导航

    博客分类:
  • Ext
EXT 
阅读更多

接着完善Ext2中实现全页面键盘导航,一般在查询按钮点击之后,要将焦点切换到Grid的第一行,然后支持键盘上下键选行,并且在Enter(回车)键按下后选中该行并返回,当然这其中还应该包括鼠标单击选行、双击选中返回。

grid.getSelectionModel().selectFirstRow();//选中第一行并获得焦点
row = grid.getView().getRow(0);
var element = Ext.get(row);
element.focus();

grid.on('dblClick', function() {//双击选中
    getSelectedInfo();
});

var el =Ext.get('grid');//回车键选中
var map = new Ext.KeyMap(el, {
    key: 13,
    fn: function(){
        getSelectedInfo();
    }
});


function getSelectedInfo(){//返回选择记录的信息
    var record = grid.getSelectionModel().getSelected();
    if(typeof(record) != "undefined"){
        window.returnValue = record.get("name")+ ";" + record.get("id");
        window.close();
    }
}

 

注意,刚才测出一个bug,当用jsonReader加载动态数据的时候,选中第一行并获得焦点出错,原因是ds.load还没有加载完成就执行了focus,修改如下:
ds.load( {
        callback : function(r, options, success) {
        if (success == false) {
            Ext.Msg.alert("错误", "加载数据出错.");
        } else {
            grid.getSelectionModel().selectFirstRow();// 选中第一行并获得焦点
            row = grid.getView().getRow(0);
            var element = Ext.get(row);
            if (typeof (element) != "undefined" && element != null) {
                element.focus();
            }
        }
        }
    });

分享到:
评论
1 楼 kehuo 2008-10-31  
很好 很强大   牛人帮我看看我的问题吧

http://www.iteye.com/topic/260248

相关推荐

    ExtJS 4.0 改善Ext.grid.plugin.RowEditing (重构,v1.4版本,2011-09-11)

    在4.0之前的版本中,用户可能遇到各种问题,如编辑过程中的延迟、键盘导航不顺畅或者编辑验证不直观等。重构后的RowEditing插件修复了这些问题,使得数据编辑更加流畅和可靠。 1. **性能优化**:在v1.4版本中,...

    ext-date.rar_ext da_ext date

    在IT行业中,EXT是一个广泛应用的JavaScript库,主要用于构建富客户端的Web应用程序。...它可以帮助开发者深入理解EXT Date控件的工作原理,学习如何进行定制,从而在项目中实现更加灵活和强大的日期处理功能。

    ext.net常见问题收集

    另外,使用`KeyNav`组件可以控制键盘导航,例如`<ext:KeyNav ID="keynav1" runat="server" Target="#{txtPassword}">`,并配置`Enter`或`Tab`等按键的行为。 这些是EXT.NET中常见的问题及其解决方法,它们涉及到...

    Ext Js权威指南(.zip.001

    5.5.2 键盘导航:ext.util.keynav / 204 5.6 综合实例:股票数据的实时更新 / 205 5.7 本章小结 / 214 第6章 选择器与dom操作 / 215 6.1 ext js的选择器:ext.domquery / 215 6.1.1 选择器的作用 / 215 6.1.2...

    很绚丽的EXT例子(功能还蛮多的)

    例子可能包含了键盘导航和屏幕阅读器支持。 这个压缩包中的"很绚丽的EXT例子,可以直接跑",意味着你下载后无需额外配置即可直接运行,可能是通过HTML文件加载EXT库和相关的JavaScript代码来展示这些功能。通过学习...

    ExtAspNet v2.2.1 (2009-4-1) 值得一看

    -Grid中TemplateField生成到页面中控件具有唯一ID,例如Grid1_ct5_Label2,Grid1_ct6_Label2(feedback:geruger)。 +2009-09-27 v2.1.2 -为Tree控件增加GetExpandAllNodesReference和...

    Extjs之--图片浏览器

    2. **数据绑定**:图片信息(如URL、名称、大小等)可能存储在一个数据源中,通过Ext JS的数据绑定机制与界面组件关联,实现数据的动态加载和更新。 3. **图片预览**:可能使用Image组件来展示图片,并通过调整其...

    extjs帮助文档pdf版

    - `Ext.KeyNav.init(element, config)`: 初始化键盘导航。 - `Ext.KeyNav.handleKey(keyCode, e)`: 处理按键事件。 #### 17. Ext.KeyMap 类 (P.19) - **概述**:管理键盘事件。 - **常用方法**: - `Ext.KeyMap....

    ExtAspNet_v2.3.2_dll

    -Grid中TemplateField生成到页面中控件具有唯一ID,例如Grid1_ct5_Label2,Grid1_ct6_Label2(feedback:geruger)。 +2009-09-27 v2.1.2 -为Tree控件增加GetExpandAllNodesReference和...

Global site tag (gtag.js) - Google Analytics