单击网格列中的链接时调用函数

时间:2012-02-15 10:54:28

标签: extjs extjs4 extjs-mvc

我需要在网格内的链接上添加一个click事件,这是如何工作的?

这是我的网格:

Ext.define('AM.view.advertiser.List', {
    extend:'Ext.grid.Panel',
    alias:'widget.advertiserlist',
    title:'All Advertisers',
    store:'Advertisers',
    columns: [
    {
            xtype:'gridcolumn',
            dataIndex:'clientname',
            text:'Clientname',
            width: 200,
            renderer: function(val) {
                    return '<a href="#">'+ val  +'</a>';
            }
    }]
});

enter image description here

3 个答案:

答案 0 :(得分:1)

以下是我如何破解相同的情况,但我希望控制器响应点击事件,我需要在hashmark之后提取信息:

 'myView gridpanel[ref=myGrid]':{
                  itemclick : function(view, model, row, rowindex, event) {
                        var hash = event.getTarget().hash;
                        if (!hash && event.getTarget().parentNode) {
                            hash = event.getTarget().parentNode.hash
                        }
                      if(hash) {
                          console.log("Control: "+hash);
                          //do something with the hash -> #{mydata}
                      }
                  }

             }

答案 1 :(得分:0)

xtype:'gridcolumn',
dataIndex:'clientname',
text:'Clientname',
width: 200,
autoEl:{
    tag: 'a',
    href: '',
    onClick: 'nameYouFunction',
    //Any methods to add here
}

答案 2 :(得分:0)

您可以使用以下事件: http://docs.sencha.com/extjs/4.1.1/#!/api/Ext.grid.Panel-event-cellclick
之后,您可以使用事件的参数使其按您的需要工作