从appcelerator中的tableView获取过滤数据

时间:2016-04-26 03:40:52

标签: javascript appcelerator appcelerator-titanium

我有一个附加到tableView的搜索栏

searchBar = Ti.UI.createSearchBar({
    value : null,
});

var table = Ti.UI.createTableView({
    filterAttribute: 'filterCriteria',
    search = searchBar
});


var tbl_data = [
   {title:'Row 12', filterCriteria : 'Row 12'},
   {title:'Row 2', filterCriteria : 'Row 2'},
   {title:'Row 3', filterCriteria : 'Row 3'}
];

table.setData(tbl_data);

当我在栏中输入信息时,例如" 2",根据我在搜索框中输入的值过滤行;在过滤器的情况下" 2"给出的结果将是[{title:'第12行'},{title:'第2行'}]

我可以使用

访问表格中的所有数据/行
table.data[0].rows;

我如何访问表格中已过滤的行?

1 个答案:

答案 0 :(得分:0)

根据文档:http://docs.appcelerator.com/platform/latest/#!/api/Titanium.UI.TableView-property-filterAttribute filterAttribute定义要使用的TableViewRow的属性。因此,您必须在TableViewRow上添加此属性,如下所示:

var tbl_data = [
  {title:'Row 12', filterCriteria : 'Row 12'},
  {title:'Row 2', filterCriteria : 'Row 2'},
  {title:'Row 3', filterCriteria : 'Row 3'}
];

然后,如果您想要访问已过滤的行,可以在TableView上添加点击事件:

table.addEventListener('click', function(e){
  Ti.API.log(' e.row ' + JSON.stringify(e.row)); //the clicked row
});