2011-05-12 30 views
6

Bu koda sahibim. Veri grird'in ikinci sütununa Düğmeler eklemek istiyorum.Flex dataGrid'i kullanarak datagridcolumn'daGrid ekle düğmesi?

<mx:DataGrid width="100%" height="95%" id="id_variableRefList" > 
    <mx:columns> 
    <mx:DataGridColumn id="id_name" dataField=""/> 
    <mx:DataGridColumn id="id_strip" dataField=""> 
    </mx:DataGridColumn> 
    </mx:columns> 
</mx:DataGrid> 

İkinci bir sütunu bir ItemRenderer kullanarak nasıl ekleyebilirim?

cevap

9

Bunu yapmanın birçok yolu vardır.

<fx:Script> 
    public function myButton_clickHandler(event:Event):void 
    { 
    Alert.show("My button was clicked!"); 
    } 
</fx:Script> 

<mx:DataGrid width="100%" height="95%" id="id_variableRefList" > 
    <mx:columns> 
    <mx:DataGridColumn id="id_name" dataField=""/> 
    <mx:DataGridColumn id="id_strip" dataField=""> 
     <mx:itemRenderer> 
     <fx:Component> 
     <mx:VBox> 
     <mx:Button label="My Button" click="outerDocument.myButton_clickHandler(event);" /> 
     </mx:VBox> 
     </fx:Component> 
     </mx:itemRenderer> 
    </mx:DataGridColumn> 
    </mx:columns> 
</mx:DataGrid> 

Yoksa DataGridColumn bir custom component and set the itemRenderer property oluşturabilirsiniz:

Öyle gibi bir inline itemRenderer kullanabilirsiniz.

<mx:DataGrid width="100%" height="95%" id="id_variableRefList" > 
    <mx:columns> 
    <mx:DataGridColumn id="id_name" dataField=""/> 
    <mx:DataGridColumn id="id_strip" dataField="" itemRenderer="MyCustomItemRenderer"/> 
    </mx:columns> 
</mx:DataGrid> 

GÜNCELLEME: tıklanan düğmeye kimliği, kendi eventListener geçirilen alır event ait currentTarget özelliğini kullanabilirsiniz almak için.

public function myButton_clickHandler(event:Event):void 
    { 
    Alert.show("Button " + Button(event.currentTarget).id + " was clicked!"); 
    } 
+0

efendim bir şey daha sormak istiyorum.Nasıl ben datagrid tarafında koymak bu Button olay oluşturabilirim. ve verigrird.i dışarıda datagrird.i işlemek istemek istiyorum bu düğmeye tıkladığınızda veri ızgarasından dışarıda işlemek istediğiniz bir olay meydana gelir ........... ??? –

+0

@ali Düğüm tıklandığında "DataGrid" dışında bir işlevi nasıl arayabileceğinizi göstermek için cevabımı güncelledim. Cevabım size cevap vermemize yardımcı olduysa, cevabımın yanındaki onay işaretini tıklayarak kabul edilen yanıt olarak işaretleyebilirsiniz. :) –

+0

teşekkürler alotttt :) –