Search code examples
appcelerator-mobileuitableview

problem with my tableView GROUPED


Here I have a problem with my tableView I want to insert text into each row of the table

can you help me please

here is the code

// this sets the background color of the master UIView (when there are no windows/tab groups on it)
Titanium.UI.setBackgroundColor('white');

// create tab group
var tabGroup = Titanium.UI.createTabGroup({ 

});

// create base UI tab and root window

var win1= Titanium.UI.createWindow({ 

    title:'',
    tabBarHidden: true,
    barColor:'black',
    backgroundColor:'white'
});


var tab= Ti.UI.createTab({
    title:'Connexion ',
    window:win1

});

//
//  This is a test that is meant to verify that a row object can have a header
//  and the table view has no table view header - the header should be displayed

var win = Titanium.UI.currentWindow;

var inputData = [
    {title:'Pseudo/email :', header:'Connexion ......'},
    {title:'Password :'},

    {title:'Créer votre compte',hasChild:true, header:'not yet registered ?'},

];
var tableView = Titanium.UI.createTableView({
    data:inputData,
    style:Titanium.UI.iPhone.TableViewStyle.GROUPED
});
win1.add(tableView);

tabGroup.addTab(tab);

// open tab group-----------------------------------------
tabGroup.open();
win1.open();

that's what I did right now but I have a problem with the title of my table and then I add another table.

there are also some ouci with the cursor which moves in the mid-line titles

here is the code

var win1= Titanium.UI.createWindow({ 

    title:'',
    tabBarHidden: true,
    barColor:'black',
    backgroundColor:'white'
});


    var view = Titanium.UI.createView({
        backgroundColor: "#FFFEEE"
    });


    var row1 = Ti.UI.createTableViewRow({
        height:'auto',
        selectionStyle:Ti.UI.iPhone.TableViewCellSelectionStyle.NONE
    });


    var label1 = Titanium.UI.createLabel({
        text:'Pseudo/e-mail :',
        left: 10
    });


    var usernametf = Ti.UI.createTextField({
        left: 100,
        right:10,
        //hintText: 'Pseudo/email :',
    //textAlign:"right",
        borderStyle: Ti.UI.INPUT_BORDERSTYLE_NONE
    });


    var row2 = Ti.UI.createTableViewRow({
        height:'auto',
        selectionStyle:Ti.UI.iPhone.TableViewCellSelectionStyle.NONE
    });


    var label2 = Titanium.UI.createLabel({
    text:'Mot de passe :',
        left: 10       
    });

    var passwordtf = Ti.UI.createTextField({
        left: 100,
        //textAlign:"right",
        //hintText: 'password',
        right:30,
        passwordMask:true,
        borderStyle: Ti.UI.INPUT_BORDERSTYLE_NONE
    });

    row1.add(label1);

    row1.add(usernametf);

    row2.add(label2);

    row2.add(passwordtf);

    var data = [row1,row2];

    var table = Ti.UI.createTableView
    ({

    data:data,
    style: Ti.UI.iPhone.TableViewStyle.GROUPED

    });


    view.add(table);

    win1.add(view);

win1.open();

I let you know that I really began with Appcelerator


Solution

  • Is there any reason why you wouldn't just use textfields? You could then just grab the values on button press and insert.

    Kitchen Sink example link https://github.com/appcelerator/titanium_mobile/blob/master/demos/KitchenSink/Resources/examples/textfield_events.js

    Another example of a screen like this would be the Tweetanium App https://github.com/appcelerator/tweetanium

    Whether you use textfields or tableviews there are several ways to work with the Ti Database object.

    Two common ways would be:

    1) You can loop through your inputData object and insert. Below are a few examples.

    https://github.com/appcelerator/titanium_mobile/blob/master/demos/KitchenSink/Resources/examples/database_2.js

    https://github.com/appcelerator/titanium_mobile/blob/master/demos/KitchenSink/Resources/examples/database_3.js

    2) You can use the tableview object itself or a wrapper similar to this example https://github.com/kwhinnery/Persistence

    I would recommend using textfields if possible.