Запрос Flex Datagrid

Ниже приведена часть моего кода, взаимодействующего с сеткой данных ...!

В нем перечислены дочерние элементы конкретного узла, если я щелкну по нему после обновления сетки данных.

Но если я нажимаю на пустое место в сетке данных, я получаю сообщение об ошибке

«ReferenceError: Ошибка № 1069: данные свойства не найдены в mx.controls.listClasses.ListBaseContentHolder, и нет значения по умолчанию».

Как этого избежать?

если (event.target.data.children! = ноль) {resultSet.removeAll (); вар tempChildObj: ArrayCollection; tempChildObj = event.target.data.children как ArrayCollection; var childLength: int; childLength = tempChildObj.length;

        for(var i:int =0;i<childLength;i++)
        {

            resultSet.addItem(tempChildObj.getItemAt(i));

        }

        resultSet.addItem(tempChildObj);
    }


}

person Bharath    schedule 31.07.2009    source источник


Ответы (1)


Ошибка сообщает вам, что свойство события target не имеет свойства с именем data в вашем случае ошибки. Это имеет смысл, поскольку вы нажимаете пустую строку - пустая строка не будет содержать никаких данных.

Сначала вам нужно проверить, содержит ли событие target свойство data, прежде чем вы начнете получать доступ к свойству child для data. Любой из следующих тестов должен работать:

if( event.target.hasOwnProperty( "data" ) ) {
    // rest of your code here
}

or

if( event.target.data ) {
    // rest of your code here
}
person Dan    schedule 31.07.2009