之前可能是Extjs3.x,提供grid的有cellclick事件,能够得到列的index,
下面是一个cellclick事件
grid.addListener('cellclick', cellclick);
function cellclick(grid, rowIndex, columnIndex, e) {
var record = grid.getStore().getAt(rowIndex); //Get the Record
var fieldName = grid.getColumnModel().getDataIndex(columnIndex); //Get field name
var data = record.get(fieldName);
Ext.MessageBox.alert('show','当前选中的数据是'+data);
}
之前可能是Extjs4.x,没有提供grid的有cellclick事件,而只是itemclick,
而itemclick中没有colIndex,只能得到行,
由于多半都是Extjs3的解答,最后找了许久,终于找个了一个Extjs4的办法,
var gridPanel1=Ext.create('Ext.grid.Panel',{
layout:'fit',
store:store,
width: 500,
selType:'checkboxmodel',
multiSelect:true,
renderTo:'content',
viewConfig:{
forceFit:true,
scrollOffset: 0,
columnsText: '列',
sortAscText: '升序',
sortDescText: '降序',
listeners: {
beforecellmousedown: function(view, cell, cellIdx, record, row, rowIdx, eOpts){
if(cellIdx === 1){
alert("dfd");
}
}
}
},
columns:[
{header:'证书名',dataIndex:'Certificate',flex:2},
{header:'费用',dataIndex:'Price',flex:1},
{header:'颁发机构',dataIndex:'Institution',flex:1},
{
xtype:'actioncolumn',
items:[{
xtype:'button',
icon:'image/date_new.gif',
style:{
marginRight:'12px'
},
handler: checkInfo
},{
icon:'image/flag_green.gif',
handler: selectCourse
}]
}
],
bbar:
Ext.create('Ext.toolbar.Paging', {
store: store,
pageSize : 2,
emptyMsg : "没有数据显示!",
displayInfo : true,
displayMsg : '显示 {0} - {1} 共 {2} 条',
beforePageText : "页码 ",
afterPageText : "共 {0} 页",
firstText : "首页",
lastText : "末页",
nextText : "下一页",
prevText : "上一页",
refreshText : "刷新"
})
});
1、 在JS中加上 Ext.QuickTips.init();
2、重写renderer方法
{
header:'项目',
dataIndex:'item',
renderer:function(data, metadata, record, rowIndex, columnIndex, store){
metadata.attr = 'ext:qtip="' + data + '"';
return data;
}
}