(Titanium Studio)显示带有排序数据的tableview

时间:2012-07-04 15:08:29

标签: javascript iphone ios titanium-mobile

我使用钛工作室构建ios应用程序。 我有一个网络服务发送给我:

数据:[{“date”:“2012-07-04”...},{“date”:“2012-06-04”...},{“date”:“2012-05- 04“...} ...]

我希望按照日期对数据进行排序,然后使用这样的表格视图添加/显示它们:

--------------------------------------------

第1行:2012-O7-04

--------------------------------------------

第2行:2012-O7-01

--------------------------------------------

第3行:2012-O4-04

--------------------------------------------

第4行:2012-O1-07

--------------------------------------------

第5行:2011-12-31有4个孩子

--------------------------------------------

当我点击第5行时,它会显示他的孩子:

---------------------------------

孩子1:2011-12-31

---------------------------------

child 2:2011-12-31

---------------------------------

孩子3:2011-12-31

---------------------------------

child 4:2011-12-31

---------------------------------

我该怎么做?

感谢

1 个答案:

答案 0 :(得分:0)

您可以使用此功能对数组进行排序,

var feedArray = [
    {title: 'Feed 1', desc: 'Desc 1', date: '2012-04-10'},
    {title: 'Feed 2', desc: 'Desc 2', date: '2012-04-12'},
    {title: 'Feed 3', desc: 'Desc 3', date: '2012-03-18'} 
];

function findFeedByDate(d) {
    for(var i = 0; i < feedArray.length; i++) {
        if ( d == feedArray[i].date ) {
            return feedArray[i];
        }
    }
}

// Grab date from feed, push it to array, then use Array.sort() to sort array
var dateArray = [];
for(var i = 0; i < feedArray.length; i++) {
    dateArray.push(feedArray[i].date);
}
dateArray = dateArray.sort();
Ti.API.info( dateArray );

var sortedFeedArray = [];
var date = null;

// for(var i = 0; i < dateArray.length; i++) { // ASC Sorting
for(var i = dateArray.length - 1; i >= 0 ; i--) { // DESC Sorting   
    sortedFeedArray.push(
        findFeedByDate( dateArray[i] )
    );
}
Ti.API.info( sortedFeedArray );

有关更详细的解决方案,请点击此链接:Sort TableView Row by date in Titanium Studio