【问题标题】:titanium studio adding rows to section钛工作室添加行到部分
【发布时间】:2011-11-19 21:21:43
【问题描述】:

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

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

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

如果您需要更多信息,请随时询问。

谢谢。

【问题讨论】:

  • 你正在创建 var section = Ti.UI.createTableViewSection();再次在您的 for 循环中,而不是将其添加到 tableView。
  • @muhammad 我在服务器函数之外添加了 rowData[] 并将 section.add 修改为如下所示: var section = Ti.UI.createTableViewSection(); for(var i = 0; i

标签: titanium tableview rows


【解决方案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 : [],;数据属性的空数组。希望这可以帮助某人避免这给我带来的头痛。

【讨论】:

  • var data = []; for(var i = 0; i &lt; results.length; i++) { data.push(createRow(results[i].deceased)); } tvResults.setData(data);怎么样
【解决方案2】:

这应该也可以

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

【讨论】:

    猜你喜欢
    • 2013-09-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-06-02
    • 1970-01-01
    相关资源
    最近更新 更多