Как добавить событие касания для ячейки таблицы в Sencha Touch? - PullRequest
0 голосов
/ 01 марта 2012

У меня есть dataView, где я связываю данные с таблицей. Это сложные данные, где я должен связать событие щелчка также для каждой ячейки таблицы. Я понятия не имею, как это можно сделать в Sencha Touch, но то же самое было сделано с jQuery и jQMobile.

Вот мой код.

var touchTeam = Ext.create('Ext.DataView', {
        fullscreen: true,
        items:[{
            xtype:'toolbar',
            title:'Dashboard',
            docked:'top',
            items:[{
                iconCls:'home',
                iconMask:true,
                ui:'confirm'
            },{
                xtype:'spacer'
            },{
                xtype:'button',
                text:'Logout',
                ui:'decline',
                handler:function(){
                    Ext.Msg.confirm('ALERT','Are you sure that you want to logout?',Ext.emptyFn);
                }
            }]
        },{
            xtype:'toolbar',
            docked:'bottom'
        }],
        store: {
            fields: ['AAAA', 'BBBB', 'CCCC', 'DDDD', 'EEEE'],
            data: [
                {AAAA: 'TableRow1',  BBBB: 0,CCCC:4,DDDD:2,EEEE:0},
                {AAAA: 'TableRow2',  BBBB: 0,CCCC:0,DDDD:0,EEEE:0},
                {AAAA: 'TableRow3',  BBBB: 0,CCCC:0,DDDD:0,EEEE:0},
                {AAAA: 'TableRow4',  BBBB: 0,CCCC:0,DDDD:0,EEEE:0},
            ]
        },
        itemTpl:'<table border="0" cellpadding="5" cellspacing="5" style="width:100%; margin-top:10px;"><tr><td style="width:20%; text-align: center;">{AAAA}</td><td style="width:20%; text-align: center;">{BBBB}</td><td style="width:20%; text-align: center;">{CCCC}</td><td style="width:20%; text-align: center;">{DDDD}</td><td style="width:20%; text-align: center;">{EEEE}</td></tr></table>'
    });

Ответы [ 2 ]

2 голосов
/ 01 марта 2012

Вам необходимо прикрепить слушателя " itemtap " к Dataview.А внутри функции вы должны проверить целевой элемент.

listeners : {
    scope : this,
    itemtap : function(dataview, index, el, record, e){
        //Browser event e
        console.log(e.target, el);
    }
}
1 голос
/ 02 марта 2012

Если вы используете javascript, вы можете сделать это в <td>, добавив

'<td class="width" style="color:black;" onClick="javascript:nameTaps">{Name}</td>',
...