2010-11-24 5 views
0

다른 캔버스 또는 vbox 등이있는 tilelist를 만들고 싶습니다. 드래그 할 수있게 만들고 싶습니다.드래그 할 수있는 캔버스가있는 TileList를 만들 때 문제가 발생합니다.

이 작업을 수행하는 코드를 작성했지만 출력에 목록에 아무 것도 표시되지 않습니다.

<mx:TileList width="1500" height="1000" dragMoveEnabled="true" 
       selectable="true" selectionColor="#FFFFFF" 
       dragEnabled="true" dropEnabled="true" 
       columnCount="1" rowHeight="160"> 
     <mx:dataProvider> 
      <mx:Array> 
       <mx:Canvas width="1450" height="100"> 
        <mx:Button label="Testin the buttong"/> 
       </mx:Canvas> 
       <mx:Canvas width="1450" height="100"> 
        <mx:Button label="Testin"/> 
       </mx:Canvas> 
      </mx:Array> 
     </mx:dataProvider> 
    </mx:TileList> 

어떻게 해결할 수 있습니까? 아니면 내가 뭘 잘못하고 있는지 알려주지?

감사합니다 감사합니다 Zeeshan은

답변

0

귀하의 dataProvider는 어떤 종류의 객체가 있어야합니다. 이론적으로는 Canvas의 인스턴스가 될 수 있지만 시각적 구성 요소를 dataProvider로 사용하는 것은 매우 드문 일입니다. 원하는 것은 itemRenderers에서 읽습니다. itemRenderer는 dataProvider의 각 인스턴스를 렌더러에 사용하는 구성 요소입니다. 이 같은

시도 뭔가 :

<mx:script><[[ 
public var mydb : Array = [ 
    {label: 'Testin the buttong'}, 
    {label: 'Testin'} 

    ] 
]]></mx:script> 

<mx:TileList width="1500" height="1000" dragMoveEnabled="true" 
       selectable="true" selectionColor="#FFFFFF" 
       dragEnabled="true" dropEnabled="true" 
       columnCount="1" rowHeight="160" dataProvider="{mydp}"> 
     <mx:itemRenderer> 
     <mx:Component> 
       <mx:Canvas width="1450" height="100"> 
        <mx:Button label="{data.label}"/> 
       </mx:Canvas> 
     </mx:Component> 
     </mx:itemRenderer> 
    </mx:TileList> 

은 한마디로 내가 일반 객체와 스크립트에서의 dataProvider를 정의. itemRenderer를 인라인으로 정의했습니다. 이 같은 것이 적어도 뭔가를 보여 주어야합니다.

일반적으로 드래그를 시작하기 위해 클릭 할 내용이 없으므로 Canvas를 드래그 할 수 있는지 여부는 잘 모르겠습니다. TitleWindow를 고려할 수 있습니다.

나는 브라우저에 코드를 작성 했으므로 표준 부인 조항이 적용됩니다.

+0

이것은 내가 원하지 않는 것입니다. 저는 타일 목록이 다른 캔버스를 가지고 있으며, 모든 캔버스에 다른 캔버스가 있습니다. 여기에 dataprovider와 함께 일할 수 없습니다. 다른 솔루션. –

+0

다른 항목을 표시하는 itemRenderers를 만들 수 있습니다. Spark 컨트롤에서는 itemRendererFunction을 사용하여 [일부 기준]에 따라 다른 itemRenderer를 사용할 수도 있습니다. – JeffryHouser

관련 문제