Data binding 如何在Sencha Touch中为表格单元格添加点击事件?
我有一个dataView,在这里我将数据绑定到一个表。这是一个复杂的数据,我必须为每个表单元格绑定click事件。我不知道如何在Sencha Touch中实现这一点,但jQuery和jQMobile也实现了这一点 这是我的密码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:'
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肯定会尝试的。