Database Tableview
Hi,
I'm trying to get results from a database into a custom tableview. However, for some reason I cannot get it to work. Does anyone know what I'm doing wrong? (I'm fairly certain it's in the while loop)
var win = Ti.UI.currentWindow;
var db = Titanium.Database.open('cards');
var cardSet = db.execute('SELECT * FROM cards WHERE deckID = ?',win.deckID);
var data = [];
while (cardSet.isValidRow()) {
var row = Ti.UI.createTableViewRow({
height: 45
});
var side1 = Titanium.UI.createLabel({
text:cardSet.fieldByName('first')
});
var side2 = Titanium.UI.createLabel({
text:cardSet.fieldByName('second')
});
row.add(side1);
row.add(side2);
data.push(row);
cardSet.next();
}
cardSet.close();
var card_list = Ti.UI.createTableView({
style:Titanium.UI.iPhone.TableViewStyle.GROUPED,
data:data
});
Thanks for any help.
1 Answer
-
// This may be helpful for you……… try this
var win = Ti.UI.currentWindow; var db = Titanium.Database.open('cards'); var cardSet = db.execute('SELECT * FROM cards WHERE deckID = ?',win.deckID); var data = []; var card_list = Ti.UI.createTableView(); while (cardSet.isValidRow()) { var row = Ti.UI.createTableViewRow({ height: Ti.UI.SIZE, layout:'vertical' }); var side1 = Titanium.UI.createLabel({ text:cardSet.fieldByName('first'), height:Ti.UI.SIZE, width:Ti.UI.SIZE, }); var side2 = Titanium.UI.createLabel({ text:cardSet.fieldByName('second'), height:Ti.UI.SIZE, width:Ti.UI.SIZE, }); row.add(side1); row.add(side2); data.push(row); cardSet.next(); } cardSet.close(); card_list.setData(data);