Изменить эту строку:
var itemName:String = (item.DECALNUMPERM as String);
до
вернуть item.DECALNUMPERM && item.DECALNUMPERM.toString (). IndexOf (searchString)> -1;
item.DECALNUMPERM
- это число, приведение к String
приведет к нулю.
Кстати: среди прочего, я бы разбил этот файл на несколько. Файлы 500 строк, как правило, не подходят для отладки.
И есть ли причина, по которой вы используете Flex 3 вместо Flex 4?
Редактировать Также иногда item.DECALNUMPERM
является нулевым. Таким образом, вам нужно будет проверить на нулевое значение, а также делать toString (). Попробуйте эту строку вместо:
return item.DECALNUMPERM && item.DECALNUMPERM.toString().indexOf(searchString) > -1;
Вам также нужно будет внести изменения в других местах, таких как:
private function filterTagMyArrayCollection(item:Object):Boolean {
var searchString:String = searchTag.text.toLowerCase();
var itemName:String = (item.VTAG as String).toLowerCase();
return itemName.indexOf(searchString) > -1;
}
и
private function filterDLMyArrayCollection(item:Object):Boolean {
var searchString:String = searchDL.text;
var itemName:String = (item.DLNUM as String);
return itemName.indexOf(searchString) > -1;
}