0

所以我试图TableView用数组中单个字段的值填充 a Custom Objects,但我TableView没有被我得到的数组填充。这是我的代码:

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

我正在使用从被调用的字段中的值填充数据数组nombreCustom ObjectReservacion数据没有显示在Table View. 我的方法错了吗?如果是这样,那么我该如何填写Table View所需的数据?

4

1 回答 1

1

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

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

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

我希望它有效。

于 2012-08-14T18:14:59.657 回答