我想从tableview中获取选定的行值并将其复制到appcelerator的textfiled中

时间:2011-05-11 12:16:07

标签: titanium appcelerator

大家好        我想将选定的行值导入文本字段,以便如何将值复制到textfiled中。所以我怎么能这样做... my_combo是textfiled 代码 - :

var Tab_data = [

     { title:'Row 1', hasChild:true },
     { title:'Row 2', hasChild:true },
     { title:'Row 3', hasChild:true },
     { title:'Row 4', hasChild:true }
];


var tab = Titanium.UI.createTableView({
    top:43,
    data:Tab_data
});

tab.selectionIndicator=true;

tab.addEventListener('click',function(e) {

    var ind = e.index;

    if(e.selectRow)
    {
        Titanium.API.inof(' Selected clicked');
        my_combo.value = e.selectRow.title;
    } 

});

5 个答案:

答案 0 :(得分:13)

1)创建行并将rowid附加到它,或者要与行关联的任何其他数据。

var row = Ti.UI.createTableViewRow();
row.rowId = 1;
row.myText = "hello world";

2)将click事件监听器添加到表中:

tableView.addEventListener('click', selectRow);

3)在selectRow函数中,获取数据。

function selectRow(e) {
 var rowId = e.rowData.rowId;
 var myText = e.rowData.myText;
 myTextField.value = myText;
}

答案 1 :(得分:0)

您只需在每行添加'rowid'即可。并在您的表上创建一个eventListener,并使用'e.row.rowid'检索值。

答案 2 :(得分:0)

你应该像这样放置构造函数

var row = Titanium.UI.createTableViewRow({
    hasChild:true,
    title:rows.fieldByName('title'),
    rowId:rows.fieldByName('id'),
    path:'nextView.js'

    }); 

答案 3 :(得分:0)

tab.addEventListener('click',function(e) {

    var ind = e.index;

    if(e.selectRow)
    {
        Titanium.API.inof(' Selected clicked');
        my_combo.value = e.rowData.title;
    } 
});

答案 4 :(得分:0)

只需在代码中将 e.selectRow 替换为 e.row

tab.addEventListener('click',function(e) {

    var ind = e.index;

    if(e.row)
    {
        Titanium.API.inof(' Selected clicked');
        my_combo.value = e.row.title;
    } 

});