如何在Titanium Developer的表视图中查找行

How to find rows in a Table View in Titanium Developer

本文关键字:视图 查找 Titanium Developer      更新时间:2023-09-26

我有一个表视图在我的javascript文件与钛开发人员。我有一些自定义TableViewRows,当我单击导航栏中的一个按钮时,我想获得输入在自定义行中的值,因为输入将发生变化。

这是我的自定义行代码:
function createInputRow(label, value) {
    var row = Titanium.UI.createTableViewRow();
    var input = Titanium.UI.createTextField({
        value: value,
        //font: {fontSize:19,fontWeight:'bold'},
        width: 200,
        textAlign: 'left',
        top: '50%',
        bottom: '50%',
        left: 80,
        height: 35,
        color: '#336699'
    });
    row.add(input);
    var labelLabel = Titanium.UI.createLabel({
        text: label,
        font: {
            fontSize: 13
        },
        width: 72,
        textAlign: 'left',
        top: '50%',
        bottom: '50%',
        left: 8,
        height: 16
    });
    row.add(labelLabel);
    return row;
}

下面是创建表格的代码:

var tableView = Titanium.UI.createTableView({
    style: Titanium.UI.iPhone.TableViewStyle.GROUPED
});
var cells = [];
cells.push(createInputRow('First Name', rows.fieldByName('first_name'))); // the database extraction is fine
/* more rows */
tableView.setData(cells);
win.add(tableView);

最后,这是我的按钮代码

var saveButton = Titanium.UI.createButton({
    title: 'Update'
});
saveButton.addEventListener('click', function() { 
    /* what to do here to get rows? */
    var query = tableView.rows;
});
win.setRightNavButton(saveButton);

任何帮助都将非常感激。如果给我指明了正确的方向,我通常可以把剩下的做完。

我会将输入定义为函数外部的数组,以便在需要时可以在后面循环。

var inputs = [];
function createInputRow(label, value, index) {
    var row = Titanium.UI.createTableViewRow();
    inputs[index] = Titanium.UI.createTextField({
        // properties
    });
    row.add(inputs[index]);
    var labelLabel = Titanium.UI.createLabel({
        // properties
    });
    row.add(labelLabel);
    return row;
}
saveButton.addEventListener('click', function() { 
    var data = tableView.data;
    for(var i=0,l=data.length;i<l;i++) {
        Ti.API.info(inputs[i].value);
    }
});