Titanium Community Questions & Answer Archive

We felt that 6+ years of knowledge should not die so this is the Titanium Community Questions & Answer Archive

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.

— asked October 24th 2010 by Connor Zwick
  • custom
  • database
  • tableview
0 Comments

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);
    
    — answered December 4th 2013 by Amimul Hossain
    permalink
    0 Comments
The ownership of individual contributions to this community generated content is retained by the authors of their contributions.
All trademarks remain the property of the respective owner.