extjs3.x 在grid表格里添加超链接点击事件,并触发有效。
例如:
var qdGridColumns = new Ext.grid.ColumnModel([
new Ext.grid.RowNumberer({ width : 28 }),
{
header : '下载',
dataIndex : 'load',
width : 120,
align : 'center',
renderer : function(value, metaData, record){
return "<a href='#'>下载</a>"; //超链接字样,点击触发GridPanel里的触发(cellclick)事件,然后在该事件里做判断,
}
,
{
header : '发布人',
dataIndex : 'username',
width : 200,
align : 'center',
renderer : function(v){return v;}
}
,
{
header : '发布时间',
dataIndex : 'datetime',
width : 220,
align : 'center',
renderer : function(v){return v;}
}
]);
//panel里的单元格点击事件 :
var qdGridPanel = new Ext.grid.GridPanel({
title : '<span class="commoncss">【文件发布明细】</span>',
region : 'east',
store : qdGridStore,
cm : qdGridColumns,
height : 300,
width : 620,
stripeRows : true,
trackMouseOver : true,
loadMask : true,
frame : true,
clicksToEdit : 1,
listeners: {
// cellclick: function( thi, td, cellIndex, record, tr, rowIndex, e, eOpts) {
cellclick: function(grid, rowIndex, columnIndex, e) {
//点击到的单元格列的角标
//console.log(columnIndex);
//点击单元格列的名字,此处为name='load'
var name = grid.getColumnModel().getDataIndex(columnIndex);
//console.log(name);
var record = grid.getStore().getAt(rowIndex);//获取该行的数据
var filepath = record.data.filepath//获取该行某个列的值
// var data = record.get(name);//根据名字获取某列的值
if(name=='load'){ //也可根据 columnIndex 列的角标判断是否是该列----该方法当列角标改变容易出错;
alert(123); //此处添加你的点击事件所要触发的方法,或业务
}else{
return ;
}
}
}
});