Гибкий запрос к сетке данных
-
06-07-2019 - |
Вопрос
Ниже приведена часть моего кода, взаимодействующего с сеткой данных...!
Здесь перечислены дочерние элементы конкретного узла, если я нажму на него после обновления сетки данных.
Но если я нажму на пустое место в таблице данных, я получу сообщение об ошибке
«Ошибка ссылки:Ошибка № 1069:Данные свойства не найдены в mx.controls.listClasses.ListBaseContentHolder, и значение по умолчанию отсутствует».
Как этого избежать?
if (event.target.data.children! = null) {resultset.removeall ();вар tempChildObj: ArrayCollection;tempChildObj=event.target.data.children как ArrayCollection;вар childLength: int;childLength = tempChildObj.length;
for(var i:int =0;i<childLength;i++)
{
resultSet.addItem(tempChildObj.getItemAt(i));
}
resultSet.addItem(tempChildObj);
}
}
Решение
Ошибка говорит вам о том, что событие target
у свойства нет свойства под названием data
в вашем случае ошибки.Это имеет смысл, поскольку вы нажимаете на пустую строку — пустая строка не будет содержать никаких данных.
Сначала вам нужно проверить, произошло ли событие target
содержит data
прежде чем вы начнете получать доступ к child
свойство data
.Любой из следующих тестов должен работать:
if( event.target.hasOwnProperty( "data" ) ) {
// rest of your code here
}
или
if( event.target.data ) {
// rest of your code here
}