Titanium tableView刷新

时间:2012-07-18 21:02:27

标签: sqlite titanium tableview appcelerator titanium-mobile

如何添加事件侦听器,以便在窗口/选项卡处于焦点时更新表格?我的当前代码适用于webViews,但我不确定如何将它应用于tableViews。 win.addEventListener('focus',function(e){webview.reload();});

3 个答案:

答案 0 :(得分:3)

创建一个重新加载表格数据并调用table.setData(_tableData)

的方法

答案 1 :(得分:0)

假设你有你的桌子,定义为:

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
})

如果您需要更多信息或者这不符合您的需求,请告诉我们。

答案 2 :(得分:0)

是的,您可以在当前的代码中执行。

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();