트리 컨트롤에서 인덱스 항목을 가져 오기 및 Adobe의 빠른 시작의 도움 사용하여 나무에 드롭 조작 :내가 드래그를하고 있어요
var dropTarget:Tree = Tree(evt.currentTarget);
var i:int = dropTarget.calculateDropIndex(evt);
myTree.selectedIndex = i;
var node:XML = myTree.selectedItem as XML;
var drugXML:XML = XML(Tree(evt.dragInitiator).selectedItem);
if(node.localName() != drugXML.localName()){
DragManager.showFeedback(DragManager.NONE);
return;
}else{
DragManager.showFeedback(DragManager.COPY);
}
:
http://www.adobe.com/devnet/flex/quickstart/working_with_tree/
제안 코드는 대략적입니다
이것은 모두 훌륭하고 훌륭하지만, 떨어지는 트리의 각 항목을 선택 (강조 표시)하는 방식이 마음에 들지 않습니다. 항목을 삭제할 위치가 명확하지 않습니다. 선택없이 이것을 구현하고 싶지만 색인만을 사용하여 노드의 XML을 가져 오는 방법이없는 것 같습니다. ~
var dropTarget:Tree = Tree(evt.currentTarget);
var i:int = dropTarget.calculateDropIndex(evt);
var node:XML = myTree.itemAt(i) as XML;
//AFAIK itemAt(i) or anything like it does not exist
var drugXML:XML = XML(Tree(evt.dragInitiator).selectedItem);
if(node.localName() != drugXML.localName()){
DragManager.showFeedback(DragManager.NONE);
return;
}else{
DragManager.showFeedback(DragManager.COPY);
}
그래서 누군가가 무엇인지 기능을 알 수 있습니까, 아니면이 기능을 가지고 트리를 확장하기 위해 무엇을 할 수 있는지, "itemAt (I)"
감사 을 같은 : 나는 이런 식으로 뭔가를 싶습니다 마이크
편집 : 내 현재 해결책은 내 노드 XML을 얻은 후에 selectedIndex = -1로 설정하는 것을 게시하는 것을 잊어 버렸습니다. 프로세서에 문제가 발생하면 사용자가 볼 수 있으므로 선택을 취소하는 것이 좋습니다.
단일 스레드에 머물러 있고 (validateNows를 트리거하지 않는 한) 시각적 피드백으로부터 안전하다고 생각합니다. Flex 프레임 워크는 UIComponents를 업데이트 할 기회를 얻지 못합니다. –
다른 사람들이 스레드를 참조하는 것을 보았습니다. 어떤 의미인지는 모르겠지만이 의미에서 스레드는 무엇이며 다른 스레드를 생성하는 방법은 무엇입니까? 나는 다른 질문을 게시 할 것입니다 ... – invertedSpear