0

我想根据列状态修复数据网格中的第一行数据,如果数据状态是新的,那么它应该在索引 0 第一行,并根据日期列对其他数据网格行进行排序。我已经根据单个日期对所有数据进行了排序。我也尝试使用给定的函数进行排序,但它不能正常工作。

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

}
4

1 回答 1

0

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

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

任何有更好解决方案或不同方法的人请在此处提供。

于 2013-03-06T05:26:27.383 回答