Вызвать функцию при нажатии на ссылку внутри столбца сетки - PullRequest
3 голосов
/ 15 февраля 2012

Мне нужно добавить событие клика по ссылке внутри сетки, как это работает?

Это моя сетка:

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 ]

1 голос
/ 16 февраля 2012

Вот как я взломал ту же самую ситуацию, но я хотел, чтобы контроллер реагировал на события щелчка, и мне нужно было извлечь информацию после хешмарка:

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

             }
0 голосов
/ 12 октября 2017

Вы можете использовать следующее событие: http://docs.sencha.com/extjs/4.1.1/#!/api/Ext.grid.Panel-event-cellclick
И после этого вы можете использовать параметры события, чтобы оно работало так, как вы хотите

0 голосов
/ 11 октября 2017
xtype:'gridcolumn',
dataIndex:'clientname',
text:'Clientname',
width: 200,
autoEl:{
    tag: 'a',
    href: '',
    onClick: 'nameYouFunction',
    //Any methods to add here
}
...