#android #database #titanium #appcelerator
#Android #База данных #titanium #ускоритель приложений
Вопрос:
Я работаю над приложением для Android. В этом приложении у меня есть окно для отчетов. Окно отчетов будет содержать таблицу с названием полей, суммой и датой. Эти данные будут получены из базы данных. Итак, в цикле while я создаю labels и 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. какие ошибки это выдает, пожалуйста, опубликуйте их также.
Ответ №1:
Вы не можете определить var repLabel[i]
таким образом. Сначала вам нужно определить массив, как var repLabel = []
затем получить к нему доступ через repLabel[i]
без var