Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/apache-flex/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Actionscript 3 在flex中对DatagridColumn进行排序_Actionscript 3_Apache Flex_Datagrid_Flex3 - Fatal编程技术网

Actionscript 3 在flex中对DatagridColumn进行排序

Actionscript 3 在flex中对DatagridColumn进行排序,actionscript-3,apache-flex,datagrid,flex3,Actionscript 3,Apache Flex,Datagrid,Flex3,我在flex中有一个DatagridColumn 有两个名称,类型和名称 现在,当我对datagridcolumn、TYPE进行排序时,它使用SortComparennction对类型进行排序 并给出了包含元素分组和排序顺序的结果。 例如,如果我按类型排序,我会按分组顺序获取pdf、doc、ppt中的元素, 但它们在内部没有排序,例如:对于pdf部分,我有如下元素: 类型名 pdf A1.pdf pdf X2.pdf pdf B1.pdf 这里对文件类型进行了排序,但对于特定的文件类型,元素没有

我在flex中有一个DatagridColumn 有两个名称,类型和名称

现在,当我对datagridcolumn、TYPE进行排序时,它使用SortComparennction对类型进行排序 并给出了包含元素分组和排序顺序的结果。 例如,如果我按类型排序,我会按分组顺序获取pdf、doc、ppt中的元素, 但它们在内部没有排序,例如:对于pdf部分,我有如下元素: 类型名 pdf A1.pdf pdf X2.pdf pdf B1.pdf

这里对文件类型进行了排序,但对于特定的文件类型,元素没有排序,请注意,B1出现在X2之后,应该对X2进行排序

在根据文件类型扩展对第一个datagridcolumn进行排序之后,是否有一种方法可以对第二个datagridcolumn进行排序

我使用SortComparennction根据类型对元素进行排序,这很好。 签名为:

私有函数sortTypeColumn(itemA:Object,itemB:Object):int

可能类似于:

    protected function sortTheTypeColumn(x:Object, y:Object):int
    {
        var xType:String = String(x["TYPE"]).toLocaleLowerCase();
        var yType:String = String(y["TYPE"]).toLocaleLowerCase();

        var result:int = sortInternalCompare(xType, yType);

        if (result == 0)
        {
            var aName:String = String(x["NAME"]).toLocaleLowerCase();
            var bName:String = String(y["NAME"]).toLocaleLowerCase();

            result = sortInternalCompare(aName, bName);
        }

        return result;
    }

    protected function sortInternalCompare(x:String, y:String):int
    {
        if (x == null && y == null)
            return 0;
        if (x == null)
            return 1;
        if (y == null)
            return -1;

        var result:int = x.localeCompare(y);

        if (result < -1)
            result = -1;
        if (result > 1)
            result = 1;

        return result;
    }
受保护函数排序类型列(x:Object,y:Object):int
{
var xType:String=String(x[“TYPE”]);
var yType:String=String(y[“TYPE”])。toLocaleLowerCase();
var结果:int=sortInternalCompare(xType,yType);
如果(结果==0)
{
var aName:String=String(x[“NAME”])。toLocaleLowerCase();
var bName:String=String(y[“NAME”])。toLocaleLowerCase();
结果=sortInternalCompare(aName,bName);
}
返回结果;
}
受保护函数sortInternalCompare(x:String,y:String):int
{
如果(x==null&&y==null)
返回0;
如果(x==null)
返回1;
如果(y==null)
返回-1;
var结果:int=x.localeCompare(y);
如果(结果<-1)
结果=-1;
如果(结果>1)
结果=1;
返回结果;
}

@Jason..非常感谢您的指导。