进来项目中需要使用双击/单击行记录来获取数据,将实现的方式记录如下:
1、双击 var cb = new Ext.grid.RowSelectionModel({ singleSelect:true //如果值是false,表明可以选择多行;否则只能选择一行 }); var alarmGrid = new Ext.grid.GridPanel({ } alarmGrid.addListener('rowdblclick', rowdblclickFn); function rowdblclickFn(grid, rowindex, e){ grid.getSelectionModel().each(function(rec){ alert(rec.get(fieldName)); //fieldName,记录中的字段名 }); } 2、单击 var cb = new Ext.grid.RowSelectionModel({ singleSelect:true //如果值是false,表明可以选择多行;否则只能选择一行 }); var alarmGrid = new Ext.grid.GridPanel({ } alarmGrid.addListener('rowclick', rowclickFn); function rowclickFn(grid, rowindex, e){ grid.getSelectionModel().each(function(rec){ alert(rec.get(fieldName)); //fieldName,记录中的字段名 }); }
初始化时添加:以上那个是单独写的添加单击双击事件,主要使用addListener添加'rowclick'和'rowdblclick'代表单击和双击事件。而初始化配置,只要配置Grid里面的listeners就可以了!
var cb = new Ext.grid.RowSelectionModel({ singleSelect:true //如果值是false,表明可以选择多行;否则只能选择一行 }); var alarmGrid = new Ext.grid.GridPanel({ } alarmGrid.addListener('rowclick', rowclickFn); function rowclickFn(grid, rowindex, e){ grid.getSelectionModel().each(function(rec){ alert(rec.get(fieldName)); //fieldName,记录中的字段名 }); } var grid = new Ext.grid.GridPanel({ store: <your datastore>, columns:[<your columns>], renderTo:'example-grid', height:200, listeners:{ //单击 rowdblclick : function(grid,row){ alert("rowdblclick") }, //双击 rowclick:function(grid,row){ alert('rowclick') } } });
恩,我找了一些资料并且自己也实践了一下,的确能用!,大家互相学习吧
资料来源:
http://hi.baidu.com/k_boy/blog/item/da3f3afa86910b809e5146f9.html