Data binding 如何在Sencha Touch中为表格单元格添加点击事件?

Data binding 如何在Sencha Touch中为表格单元格添加点击事件?,data-binding,sencha-touch,Data Binding,Sencha Touch,我有一个dataView,在这里我将数据绑定到一个表。这是一个复杂的数据,我必须为每个表单元格绑定click事件。我不知道如何在Sencha Touch中实现这一点,但jQuery和jQMobile也实现了这一点 这是我的密码 var touchTeam = Ext.create('Ext.DataView', { fullscreen: true, items:[{ xtype:'toolbar', title:'

我有一个dataView,在这里我将数据绑定到一个表。这是一个复杂的数据,我必须为每个表单元格绑定click事件。我不知道如何在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>'
    });
var touchTeam=Ext.create('Ext.DataView'{
全屏:对,
项目:[{
xtype:“工具栏”,
标题:“仪表板”,
停靠:'顶部',
项目:[{
iconCls:“家”,
是的,
用户界面:“确认”
},{
xtype:“间隔器”
},{
xtype:“按钮”,
文本:'Logout',
ui:“拒绝”,
处理程序:函数(){
Ext.Msg.confirm('ALERT','you sure you want to logout?',Ext.emptyFn);
}
}]
},{
xtype:“工具栏”,
停靠:'底部'
}],
商店:{
字段:['AAAA','BBBB','CCCC','DDDD','EEEE'],
数据:[
{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:“{AAAA}{BBBB}{CCCC}{DDDD}{EEEE}”
});
您需要将“”侦听器附加到数据视图。在函数内部,您必须检查目标元素

listeners : {
    scope : this,
    itemtap : function(dataview, index, el, record, e){
        //Browser event e
        console.log(e.target, el);
    }
}
您需要将“”侦听器附加到Dataview。在函数内部,您必须检查目标元素

listeners : {
    scope : this,
    itemtap : function(dataview, index, el, record, e){
        //Browser event e
        console.log(e.target, el);
    }
}

如果您使用的是javascript,则可以在
中添加以下内容

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

如果您使用的是javascript,您可以在
中添加以下内容

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

是的,它可以工作。但是我是否有任何选项来选择被点击元素的属性?例如,我有一个带有的rowid,那么如何选择该id?jQuery:'$('td#cellID').attr(rowid')。您可以检查e.target元素和Ext.get(e.target).getAttribute('id');将为您提供组件的id。请检查Sencha API文档中的元素类。谢谢您的回答。我们在Sencha Touch 2中有可用的网格吗?在网格上使用时可以得到相同的结果吗?是的,有Simoens的Sencha Touch 2.0网格组件。检查这里的组件:这也是一个Dataview组件,因此您应该会得到相同的结果。是的,它可以工作。但是我是否有任何选项来选择被点击元素的属性?例如,我有一个带有的rowid,那么如何选择该id?jQuery:'$('td#cellID').attr(rowid')。您可以检查e.target元素和Ext.get(e.target).getAttribute('id');将为您提供组件的id。请检查Sencha API文档中的元素类。谢谢您的回答。我们在Sencha Touch 2中有可用的网格吗?在网格上使用时可以得到相同的结果吗?是的,有Simoens的Sencha Touch 2.0网格组件。检查这里的组件:这也是一个Dataview组件,因此您应该会得到相同的结果。但是在单击单元格时,我需要显示与单击的单元格对应的另一组数据。如果我使用你的方法,我如何做到这一点?为此,你需要传递参数,如onClick=“javascript:NameTap(\'{Name}\',{ID})”谢谢,Nag肯定会尝试。但在单击单元格时,我需要显示与单击的单元格对应的另一组数据。如果我使用你的方法,我该怎么做?为此,你需要传递参数,比如onClick=“javascript:NameTap(\'{Name}\',{ID})”谢谢,Nag肯定会尝试的。