在Titanium中运行时创建表视图和表视图行的问题?

时间:2011-04-28 05:16:17

标签: android database titanium appcelerator

我正在开发Android APP。在这个应用程序中,我有报告窗口。报告窗口将包含具有字段名称,金额和日期的表。这些数据将来自数据库。所以在while循环中我创建了标签和tableViewRow。但它不起作用并给出错误。

这是我使用的代码:

var rows = conn.execute('SELECT * FROM entries WHERE 1 order by dt desc ');  

var i = 0;  
var k = 0;  
var l = 0;  
var j = 1;  
while (rows.isValidRow())  
{  
    var repLabel[i] = Titanium.UI.createLabel({  
        text:rows.fieldByName( 'name' ),  
        left:10,  
        textAlign:'center',  
        font:{ fontSize:16,fontFamily:'helvetica',fontWeight:'bold' },  
        color:'#999'  
    });  

var repLabel[k] = Titanium.UI.createLabel({
    text:rows.fieldByName( 'amount' ),
    left:150,
    textAlign:'center',
    font:{ fontSize:16,fontFamily:'helvetica',fontWeight:'bold' },
    color:'#999'
});

var repLabel[l] = Titanium.UI.createLabel({
    text:rows.fieldByName( 'date' ),
    left:230,
    textAlign:'center',
    font:{ fontSize:16,fontFamily:'helvetica',fontWeight:'bold' },
    color:'#999'
});

var repRow[i] = Titanium.UI.createTableViewRow({
    backgroundColor:'#fff',
});
repRow[i].add( repLabel[i] );
repRow[i].add( repLabel[k] );
repRow[i].add( repLabel[l] );
data[j] = repRow[i];
rows.next();
i++;
j++;
};

1 个答案:

答案 0 :(得分:3)

您无法像这样定义var repLabel[i]。您必须首先定义数组,例如var repLabel = [],然后通过repLabel[i]访问它而不使用var