Мне нужно заказать массив элементов по номерам элементов на datagrid в Flex 3.5.Сортировка номеров позиций с точкой в коллекции массива в flex
На самом деле мне не нужно переупорядочивать его, когда он находится внутри datagrid, мне просто нужно, чтобы он был отсортирован уже на arraycollection, прежде чем отправить его в dataprovider.
Моя проблема заключается в том, что proprety «ITEM_NUMBER», что мне нужно быть отсортирован это строка, и она построена с номером партии и точкой, как это:
1.1, 1.2, 1.3, 2,1 , 2.2, 3.1 , 3.2, 3.3 , 3.4, 3.5 , 3.6, 3.7 , 3,8, 3,9 , 3.10, 3.11
Мне нужно, чтобы это было заказано так.
Если я попытаюсь заказать их по номеру, 3.2 больше 3.11, значит, это не сработает. Мне нужно заказать их сначала целым числом до точки и только после него целым числом после точки, прежде чем перейти к следующему целому числу до точки
Также у меня есть еще одна проблема. Атрибут item_number находится внутри объекта, который находится внутри другого объекта на моем arraycollection.
Чтобы добраться до него, я должен:
array_collection.item.item_number
Так, чтобы подвести итог, я должен перечислить массив упорядоченный атрибутом, который находится внутри другого объекта arrayitem и это число в строке, разделенной точкой.
Это упрощенная версия моего кода:
<mx:Script>
<![CDATA[
public function print_data_grid(array_collection):void
{
my_data_grid.dataProvider = array_collection
}
]]>
</mx:Script>
<mx:DataGrid id="my_data_grid">
<mx:columns>
<mx:DataGridColumn headerText="# Item">
<mx:itemRenderer>
<mx:Component>
<mx:Label toolTip="{this.text}" text="{data.product.item_number}"/>
</mx:Component>
</mx:itemRenderer>
</mx:DataGridColumn>
<mx:DataGridColumn headerText="Item Name">
<mx:itemRenderer>
<mx:Component>
<mx:Label toolTip="{this.text}" text="{data.product.name}"/>
</mx:Component>
</mx:itemRenderer>
</mx:DataGridColumn>
</mx:columns>
</mx:DataGrid>
См http://stackoverflow.com/questions/9429142/how-to-sort-an-arraycollection-in-flex – Brian