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 ;
         }

}
}
});

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM