【问题标题】:Add rows to a tableview from database将行从数据库添加到表视图
【发布时间】:2016-05-04 12:47:14
【问题描述】:

我需要将行追加到从数据库读取数据的表视图中。我的问题是所有行都是混合的。

我的代码是

var db = Ti.Database.open('MyData');
var rows = db.execute('SELECT * FROM TablaAuxiliar ORDER BY TablaAuxiliar.Nombre');

var i;
var nuevaRow=Ti.UI.createTableViewRow({height:80});

for (i=0;i<NRegistros;i++){

    var titulo=Ti.UI.createLabel({
        id: "NombreTerm",
        text: rows.field(2),
        color: "black" ,
        textAlign: Ti.UI.TEXT_ALIGNMENT_LEFT, 
        left:20,
        top:5
    });
    var titulo2=Ti.UI.createLabel({
        id: "EstadoTerm",
        text: rows.field(3),
        font: {fontSize: '30'},
        color: "#888" ,
        textAlign: Ti.UI.TEXT_ALIGNMENT_LEFT, 
        left:20,
        top:30
    });
    var titulo3=Ti.UI.createLabel({
        id: "TemperaturaTerm",
        text: rows.field(4)/10,
        font: {fontSize: '50'},
        color: "#888" ,
        textAlign: Ti.UI.TEXT_ALIGNMENT_LEFT, 
        left:200,
        top:5
    });
    nuevaRow.add(titulo);
    nuevaRow.add(titulo2);
    nuevaRow.add(titulo3);
    $.MenuLateral.appendRow(nuevaRow);
    rows.next();
}       

db.close(); 

$.MenuLateral 是使用 Alloy 创建的 TableView

        <TableView id="MenuLateral" top="20%" height="60%" left="0%" zindex="20" width="100%" backgroundColor="white" separatorColor="gray">
        </TableView>

我需要为数据库中的每条记录保留一行。问题出在哪里??

谢谢

【问题讨论】:

  • NRegistros 变量的值是多少?

标签: javascript tableview appcelerator appcelerator-titanium appcelerator-alloy


【解决方案1】:

只需将这行代码 var nuevaRow=Ti.UI.createTableViewRow({height:80}); 移到 for 循环内即可。

实际上,您只创建了一个 TableViewRow 变量,如果您将使用相同的变量来 appendRow,那么它将是一个只有从 for 循环内部添加许多标签的单行。

所以试试这段代码:

var i;

for (i=0;i<NRegistros;i++){
    var nuevaRow=Ti.UI.createTableViewRow({height:80});
...

【讨论】:

  • 谢谢 Prashant,你是正确的
猜你喜欢
  • 1970-01-01
  • 2012-05-06
  • 1970-01-01
  • 2013-02-06
  • 1970-01-01
  • 2015-02-03
  • 2011-01-10
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多