(钛工作室)显示带有排序数据的表视图

(Titanium Studio) display tableview with sorted data

本文关键字:数据 排序 视图 工作室 显示      更新时间:2023-09-26

我使用titanium studio来构建ios应用程序。我有一个网络服务,它向我发送:

data:[{"date":"2012-07-04" ...},{"date":"2012-06-04" ...},{"date":"2012-05-04" ...} ...]

我想在添加/显示数据之前按日期对数据进行排序,如下所示的表格视图:

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

第 1 排 : 2012-O7-04

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

排 2 : 2012-O7-01

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

排 3 : 2012-O4-04

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

第四排 : 2012-O1-07

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

排 5 : 2011-12-31 有 4 个孩子

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

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

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

儿童 1 : 2011-12-31

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

儿童 2 : 2011-12-31

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

儿童3 : 2011-12-31

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

儿童 4 : 2011-12-31

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

我该怎么做?

谢谢

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

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 );

有关更详细的解决方案,请查看此链接: 在钛工作室中按日期对表视图行进行排序