Я пытался отфильтровать поставщик данных в поле со списком на основе значений в текстовых полях. Когда содержимое провайдера данных изменяется, поле со списком автоматически вызывает метод события change. Пожалуйста, найдите образец кода ниже.
Функция фильтра:
private function filterLocations(event:FocusEvent):void {
locationsList1.filterFunction = filterUtility;
locationsList1.refresh();
}
public function filterUtility(item:Object):Boolean {
// pass back whether the location square foot is with in the range specified
if((item.SQUARE_FOOTAGE >= rangeText1.text) && (item.SQUARE_FOOTAGE rangeText2.text))
return item.SQUARE_FOOTAGE;
}
// THIS WOULD BE CALLED WHEN COMBO BOX SELECTION IS DONE
private function selectLocationsReports(event:ListEvent):void {
selectedItem =(event.currentTarget as ComboBox).selectedItem.LOCATION_ID;
}
Когда DataProvider обновляется, он автоматически вызывает метод change и выбрасывает функцию Null Pointer, потому что он преждевременно вызывает вышеуказанный метод selectLocationsReports и его ошибка выдает.
Может кто-нибудь дать мне знать, как остановить распространение события CHANGE при обновлении поставщика данных.