我有一个数据网格。我使用添加按钮向数据网格添加一行。添加后,我会根据列对数据网格进行排序。我还提供序列号,即行号作为数据网格的第一列。但是,排序后序列号功能不适用。因此,为例如第 5 行添加了一个新行,基于排序应该是第 1 行,显示的序列号仍然是第 5 行。UI 看起来很糟糕,因为数字的顺序不正确。代码是:
// Sorting Function :
private function sortGrid():void
{
sortGridColl = new ArrayCollection(sortGridArray);
sortA = new Sort();
sortByLevel = new SortField("Type", true, false);
sortA.fields=[sortByLevel];
sortGridColl.sort=sortA;
sortGridColl.refresh();
sortGrid.dataProvider=sortGridColl;
sortGrid.rowCount=myDPColl.length +1;
}
// Serial Number function :
private function sortGridSerialNumbers(oItem:Object,iCol:int):String
{
myDPColl = new ArrayCollection(sortGridArray);
var iIndex:int = myDPColl.getItemIndex(oItem) + 1;
return String(iIndex);
}
// Adding new row to datagrid :
sortGrid.dataProvider.addItem
(
{
Type : typeName.text
}
);