【问题标题】:as3 datagrid column sort with special function具有特殊功能的as3 datagrid列排序
【发布时间】:2011-10-02 05:49:59
【问题描述】:

我在一个 AS3 空中项目中使用 datagrid 组件。我通过 php 从 sql 获取数据并包含到 datagrid 中。我的问题是我想更改排序方法。例如,当您使用数组时,您可以使用特殊函数对数组进行排序。例如; arrayName.sort(functionName)

如何在特定的数据网格列中使用此函数:

function orderLastName(a, b):int 
{ 
    var lastName:RegExp = /\b\S+$/; 
    var name1 = a.match(lastName); 
    var name2 = b.match(lastName); 

    if (name1 < name2) 
    { 
        return -1; 
    } 
    else if (name1 > name2) 
    { 
        return 1; 
    } 
    else 
    { 
        return 0; 
    } 
} 

【问题讨论】:

    标签: actionscript-3 sorting datagrid


    【解决方案1】:

    简单,您已经在问题中说出了答案。只需这样做:

    var dataArray:Array = dataGrid.dataProvider.toArray();
    
    dataArray.sort(myfunc);
    
    dataGrid.dataProvider = new DataProvider(dataArray);
    

    此外,如果您只想对特定列执行此操作,请将该列的数据从 dataArray 复制到新数组并执行排序,将数据设置回 dataArray 并重置数据提供程序。请注意,您可能还需要使阶段无效以强制重绘列表。做吧:

    stage.invalidate();
    

    【讨论】:

    • 我花了一段时间来搜索一个工作示例。而且我找不到任何有用的例子。这就是我要找的。感谢升天
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-11-23
    • 2013-09-01
    • 1970-01-01
    • 2013-11-19
    • 1970-01-01
    • 2011-12-13
    相关资源
    最近更新 更多