2009-07-31 3 views
0

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

Этот список детей конкретного узла, если я нажимаю на него после обновления DataGrid ..

Но если я нажимаю на пустом пространстве DataGrid я получаю сообщение об ошибке, говоря

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

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

если (мероприятие.target.data.children! = Null) { результатSet.removeAll(); var tempChildObj: ArrayCollection; tempChildObj = event.target.data.children as ArrayCollection; var childLength: int; childLength = tempChildObj.length;

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

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

     } 

     resultSet.addItem(tempChildObj); 
    } 


} 

ответ

1

Что ошибка говорит вам, что 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 
} 

 Смежные вопросы

  • Нет связанных вопросов^_^