进来项目中需要使用双击/单击行记录来获取数据,将实现的方式记录如下:
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