TableViewRows或Labels未添加到TableView

时间:2014-10-23 14:08:03

标签: titanium titanium-mobile appcelerator appcelerator-mobile

我正在创建一个TableView,然后循环遍历一个DB记录集,一次向表中添加1个TableViewRow。但有些事情是行不通的。该表最终在窗口上,因为我可以看到行行分隔符,但标签/文本和开关不会出现。

这是我的表定义:

var genres = Ti.UI.createTableView({
        top: 0,
        height: '75%',
        backgroundColor: '#000000',
        backgroundFocusedColor: '#9DF5B7'
});

[ENTER LOOP]

var genreRow = Titanium.UI.createTableViewRow({
    height: 'auto'
});

var genreText = rsGenres.fieldByName('Genre');

var genreLabel = Ti.UI.createLabel({
  color: '#ffffff',
  //text: genreText,
  text: 'foobar',
  textAlign: Ti.UI.TEXT_ALIGNMENT_LEFT,
  width: Ti.UI.SIZE, height: Ti.UI.SIZE
});

Ti.API.info("Genre: " + rsGenres.fieldByName('Genre'));

var genreSwitch = Ti.UI.createSwitch({
    titleOn: 'On',
    titleOff: 'Off',
    right: 5,
    value: true // mandatory property for iOS 
});

genreRow.add(genreLabel);
genreRow.add(genreSwitch);
genres.add(genreRow);

[退出循环]

win4.add(genres);

你可以看到我在genreLabel中注释了genreText绑定,并用硬编码的" foobar"文字,但即便没有出现。你也可以看到我的Ti.API.Info()行,在控制台中我可以看到我的所有类型,数据在那里,循环正在工作。

为什么我看不到表格上的标签文字和开关控件?

1 个答案:

答案 0 :(得分:2)

Using TableViews

在迭代循环时在表视图中追加行

table.appendRow(row);

在某些数组中添加表视图行,例如

  var data= [];

  //  loop start
    data.add(row);
  //  loop end
    table.setData(data);