例如:
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 ;
}
}
}
});