钛工作室添加行到部分

时间:2011-09-19 00:17:13

标签: titanium tableview rows

我看不出我在这里做错了什么。简单地说,我想将自定义行添加到一个部分,将该部分添加到表视图,然后在我的窗口中显示该视图。听起来很容易。我已经多次执行我的代码,以至于我再也看不到我所缺少的东西(我想我们一直都在那里)。所以我需要一双新的眼睛来看它。

首先,我知道我将数据放入该行。我通过服务器成功回调中的for循环将行添加到该部分。我没有错。该部分显示在窗口中。但我根本无法显示行。

为避免转储此块中的代码,您可以找到它已粘贴here

如果您需要更多信息,请随时提出。

感谢。

2 个答案:

答案 0 :(得分:1)

哇, 这是一个难以破解的难题。我的一位知情同事在周末解决了这个问题。 而不是推送和添加元素到父母。他只是使用appendRow方法将一行添加到一个空数组中,然后将其添加到表视图中。

首先创建表格视图:

// CREATE RESULTS TABLEVIEW
var tvResults = Ti.UI.createTableView({
    backgroundColor : "white",
    data : [],
    top : 55,
    left : 10,
    width : 260,
    height : 250,
    borderColor : appHeaderColor,
    borderWidth : 1,
    borderRadius : 10
});
viewMain.add(tvResults);

然后在回调中,迭代并附加到添加到视图的数组:

for(var i = 0; i < results.length; i++) {   
   tvResults.appendRow(createRow(results[i].deceased));
} 

请注意,重要的部分是tableview中的 data:[],; data属性的空数组。希望这可以帮助别人避免这引起我的头痛。

答案 1 :(得分:0)

这也应该有用

var sections = [];
sections[0] = Ti.UI.createTableViewSection;

for(var i = 0; i < results.length; i++) {   
   sections[0].add(createRow(results[i].deceased));
};

var tvResults = Ti.UI.createTableView({
    backgroundColor : "white",
    data : sections
});
viewMain.add(tvResults);