Из документации:
Конструктор SortField ()
public function SortField(name:String = null, caseInsensitive:Boolean = false, descending:Boolean = false, numeric:Object = null)
Я запутался в последней части - numeric:Object = null
.
Вот моя функция:
private function createXMLDataProvider():XMLListCollection{
var sort:Sort = new Sort();
sort.fields = [new SortField("@sortorder",true,false,true), new SortField("@label")];
var searchTypesCollection:XMLListCollection =
new XMLListCollection(getAssociations(_appData.searchTypes, "category", searchType));
searchTypesCollection.sort = sort;
searchTypesCollection.refresh();
return searchTypesCollection;
}
На этой строке:
sort.fields = [new SortField("@sortorder",true,false,true), new SortField("@label")];
Первый SortField - это число, но сравнивается как текст. Что я должен положить туда, где написано «правда»?
Также из документации:
Указывает, что если сортируемое поле содержит числовые значения (число / целое / число) или строковые представления числовых значений, компаратор использует числовое сравнение. Если это свойство имеет значение false, поля со строковыми представлениями чисел сортируются с использованием сравнения строк, поэтому 100 предшествует 99, поскольку «1» является строковым значением ниже, чем «9». Если это свойство имеет значение null, первый элемент данных подвергается внутреннему анализу, чтобы определить, является ли он числом или строкой, и сортировка продолжается на основе этого самоанализа.
Значением по умолчанию является false.