我正在尝试向表中添加一行。该表是用合金创建的,我试图附加来自js的行。
这是xml
cbLocal.DisplayMember = "loc_descricao";
cbLocal.ValueMember = "loc_cod";
cbLocal.DataSource = localNegocios.RetornaLocal();
这是.js
<Alloy>
<Window id='index' class="container">
<TableView id="MainThings">
<TableViewSection id='MainThingsSection'>
</TableViewSection>
</TableView>
<Label id="AddCounter" onClick="doClick">+</Label>
<Label id="clear" onClick="clear">-</Label>
</Window>
这是错误
function Loader(){
var row= Titanium.UI.createTableViewRow({
title:'Title'
});
$.MainThingsSection.append(row);
}$.MainThings.addEventListener('open',Loader());
$.index.open();
答案 0 :(得分:0)
此代码中的错误是它不喜欢该行。:
$.MainThings.addEventListener('open',Loader());
Should Be
$.MainThings.addEventListener('open',Loader);
这不是TableView没有打开&#39;事件,因此此代码不会以您尝试的方式链接事件。
INDEX.XML
<Alloy>
<Window id='index' class="container">
<TableView id="MainThings">
<TableViewSection id='MainThingsSection'>
</TableViewSection>
</TableView>
<!-- <Label id="AddCounter" onClick="doClick">+</Label> -->
<!-- <Label id="clear" onClick="clear">-</Label> -->
</Window>
</Alloy>
index.js
function Loader(){
console.log("This code doesn't run."); // <====== This doesn't run.
var row = Ti.UI.createTableViewRow({
title:'Title'
});
$.MainThingsSection.add(row);
}
$.MainThings.addEventListener('open', Loader); // <===== This is nothing.
$.index.open();
答案 1 :(得分:0)
无需使用 $ .MainThings.addEventListener('open',Loader()); 代码。相反,您可以在 $ .index.open()之前直接调用 Loader()函数。
而不是使用append方法使用 appendRow 方法
$.MainThingsSection.appendRow(row);
注意:在呈现表之前,可以使用TableViewSection add方法将TableViewRow对象添加到节中。在渲染之后,必须使用TableView insertRowBefore,insertRowAfter或appendRow方法之一。