如何使用自定义对象中的单个字段填充TableView?

时间:2012-08-14 17:52:30

标签: ios titanium tableview appcelerator custom-object

所以我正在尝试使用TableView数组中单个字段的值填充Custom Objects,但我的TableView没有填充数组I'得到。这是我的代码:

function SearchWindow(){
    var self = Ti.UI.createWindow({
        backgroundColor:'#d0d0d0d'
    });
    var Cloud = require('ti.cloud');
    Cloud.debug=true;

    var searchBar = Ti.UI.createSearchBar({
        showCancel:false
    });
    var data = [];
    Cloud.Objects.query({
        classname:'Reservacion'
    }, function(e){
        if(e.success){
            for(var i=0; i< e.Reservacion.length; i++){
                data.push({title : e.Reservacion[i].nombre});
            }
        } else {
            alert('Error \n ' + ((e.error && e.message) || JSON.stringify(e)));
        }
    });

    var tableView = Ti.UI.createTableView({
        backgroundColor:'#d0d0d0',
        search:searchBar,
        data: data,
        filterAttribute : 'title'
    });

    self.add(tableView);
    return self;
}

我正在使用来自名为nombre的{​​{1}}的{​​{1}}字段中的值填充数据数组,但数据未显示在Custom Object上}。我的方法有误吗?如果是,那么如何在Reservacion填充所需数据?

1 个答案:

答案 0 :(得分:1)

创建表格视图后,您将 nombre 字段的值推送到数据数组。这意味着在创建表视图时,没有行,因此这就是您什么也看不见的原因。通过在完全填充数据后(在您的Cloud.Objects.query回调中)设置tableView.data = data;来解决此问题。

实例化您的表格视图而不指定data

var tableView = Ti.UI.createTableView({
    backgroundColor:'#d0d0d0',
    search:searchBar,
    filterAttribute:'title'
});

我希望它有效。