【发布时间】:2012-07-18 21:02:26
【问题描述】:
如何添加事件侦听器以便在窗口/选项卡处于焦点时更新表格?我当前的代码适用于 webViews,但我不确定如何将它应用到 tableViews。 win.addEventListener('focus',function(e){webview.reload();});
【问题讨论】:
标签: sqlite titanium tableview appcelerator titanium-mobile
如何添加事件侦听器以便在窗口/选项卡处于焦点时更新表格?我当前的代码适用于 webViews,但我不确定如何将它应用到 tableViews。 win.addEventListener('focus',function(e){webview.reload();});
【问题讨论】:
标签: sqlite titanium tableview appcelerator titanium-mobile
创建一个重新加载表数据的方法并调用table.setData(_tableData)
【讨论】:
假设你有你的表,定义为:
var tableData = [{title: 'Elephants'}, {title: 'Donkeys'}, {title: 'Falcons'}]
var tableView = Ti.UI.createTableView({
data: tableData
})
win.add(tableView)
还有一个名为newData 的数组,其中包含您要放入表中的新信息。您是否尝试过执行以下操作?
win.addEventListener('focus', function(e){
tableView.data = newData
})
如果您需要更多信息或者这不符合您的需要,请告诉我。
【讨论】:
是的,您可以在当前代码中执行。
win.addEventListener('focus', function(e){
tableView.setData(newData); // this is always add update Array
});
例如
var win = Ti.UI.createWindow();
var data = [
{title:"Row 1"},
{title:"Row 2"},
{title:"Row 3"}
];
var tableView = Ti.UI.createTableView({
data: data
});
win.add(tableView);
win.open();
再试一次
var win = Ti.UI.createWindow();
var data = [
{title:"Row 1"},
{title:"Row 2"},
{title:"Row 3"}
];
var tableView = Ti.UI.createTableView({
data: data
});
data = [
{title:"Row 1"},
{title:"Row 2"},
{title:"Row 3"},
{title:"Row 4"},
{title:"Row 5"},
];
win.addEventListener('focus',function(){
tableView.setData(data);
});
win.add(tableView);
win.open();
【讨论】: