Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/elixir/2.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 我如何根据条件固定第一行数据常量,并根据日期对datagrid中的其余数据进行排序?_Actionscript 3_Apache Flex - Fatal编程技术网

Actionscript 3 我如何根据条件固定第一行数据常量,并根据日期对datagrid中的其余数据进行排序?

Actionscript 3 我如何根据条件固定第一行数据常量,并根据日期对datagrid中的其余数据进行排序?,actionscript-3,apache-flex,Actionscript 3,Apache Flex,我想根据列的状态修复datagrid中的第一行数据,如果数据状态是新的,那么它应该位于索引0的第一行,并根据日期列对其他datagrid行进行排序。 我已经根据一个类似冒号的日期对所有数据进行了排序。我也试着用给定的函数进行排序,但效果不好 public static function sortDataGridMultiColumn(columnOne: String, columnTwo: String, decending: Boolean, array: ArrayCollection):

我想根据列的状态修复datagrid中的第一行数据,如果数据状态是新的,那么它应该位于索引0的第一行,并根据日期列对其他datagrid行进行排序。 我已经根据一个类似冒号的日期对所有数据进行了排序。我也试着用给定的函数进行排序,但效果不好

public static function sortDataGridMultiColumn(columnOne: String, columnTwo: String, decending: Boolean, array: ArrayCollection): void {

   var sortThese: Sort = new Sort();
   sortThese.fields = [new SortField(columnOne, false, decending),
   new SortField(columnTwo, false, decending)];
   array.sort = sortThese;
   array.refresh();

}

首先,我通过这个函数对数据网格中的数据进行排序

public static function sortDataGrid(columnId:String , decending:Boolean , array:ArrayCollection):void
        {

            var sortThese:Sort = new Sort();            
            sortThese.fields = [new SortField(columnId, false, decending)];
            array.sort = sortThese;             
            array.refresh();    
        }
然后,我使用此函数手动设置第一个索引上所需的数据

 public static function sortingNWFDataGrid(arrayCol:ArrayCollection):void 
            {
                var currentIndx:Number = 0;
                for(var i:int = 0 ; i < arrayCol.length; i++){
                    if(arrayCol.getItemAt(i).statusId == UserStatusConstants.NEW_STATUS_ID){
                        currentIndx = i;
                        break;
                    }
                }
                var newObj:Object = new Object();
                newObj = arrayCol.getItemAt(currentIndx) as Object;
                arrayCol.removeItemAt(currentIndx);
                arrayCol.refresh();
                arrayCol.addItemAt(newObj, 0);
                arrayCol.refresh();
            }
public静态函数排序nwfdatagrid(arrayCol:ArrayCollection):void
{
var currentIndx:Number=0;
for(变量i:int=0;i

任何一个更好的解决方案或不同的方法,请在这里提供

谢谢,我自己解决了。你能把你找到的解决方案贴出来作为答案,并把它标记为已接受吗?这将向人们表明问题已经解决,也可以帮助其他有类似问题的人。感谢您的指导。我发布了我的解决方案。但我不知道如何标记。在评分下面(答案的左侧),应该有一个勾号的轮廓。点击它,它会变成绿色,这表明你已经接受了它。