0
내가 가지고 내에서 Datagrid에 대한 다음 코드를방지 플렉스 데이터 그리드 이벤트를 혼합
<s:DataGrid id="proveedoresGrid" top="10" bottom="10" width="426"
creationComplete="proveedoresGrid.addEventListener('editIconClicked', itemRendererEditClickHandler);proveedoresGrid.addEventListener('deleteIconClicked', btn_eliminar_proveedor_clickHandler);"
dataProvider="{proveedoresModel.modelo.arrayProveedores}"
gridClick="editProveedor(event)"
horizontalCenter="-255" requestedRowCount="4">
<s:columns>
<s:ArrayList>
<s:GridColumn headerText="Edit" width="50" itemRenderer="renderers.EditGridRender" rendererIsEditable="false"></s:GridColumn>
<s:GridColumn dataField="proveedor" headerText="Proveedor" width="370" editable="false"></s:GridColumn>
</s:ArrayList>
</s:columns>
</s:DataGrid>
글쎄, 첫 번째 열에서 나는 그 표시의 itemRenderer의 두 아이콘이 "편집 & 삭제"아이콘을 클릭에 따라 이벤트를 파견합니다. 문제는 그런 Datagrid에는 또 다른 일반 이벤트 "gridClick"이 있다는 것입니다. 첫 번째 열에서 셀을 클릭하면 'gridClick'이벤트가 항상 작동하고 첫 번째 열에 속하지 않는 다른 셀에서 작동해야합니다.
어떻게해야합니까?
감사합니다.
편집 :
의 itemRenderer :
<s:GridItemRenderer xmlns:fx="http://ns.adobe.com/mxml/2009"
xmlns:s="library://ns.adobe.com/flex/spark"
xmlns:mx="library://ns.adobe.com/flex/mx" clipAndEnableScrolling="true"
width="50" height="30">
<fx:Metadata>
[Event(name="editIconClicked")]
</fx:Metadata>
<fx:Script>
<![CDATA[
import events.EditItemEvent;
import mx.controls.Alert;
import mx.controls.DataGrid;
override public function prepare(hasBeenRecycled:Boolean):void {}
protected function btn_edit_clickHandler(event:MouseEvent):void {
event.stopImmediatePropagation();
event.stopPropagation();
dispatchEvent(new Event("editIconClicked", true, true));
}
protected function btn_delete_clickHandler(event:MouseEvent):void {
event.stopImmediatePropagation();
event.stopPropagation();
dispatchEvent(new Event("deleteIconClicked", true, true));
}
]]>
</fx:Script>
<s:HGroup width="100%" height="24" top="3" gap="1">
<s:Image id="btn_edit" horizontalCenter="0"
source="@Embed('assets/images/edit_icon.png')"
verticalCenter="0"
click="btn_edit_clickHandler(event)"/>
<s:Image id="btn_delete" horizontalCenter="0"
source="@Embed('assets/images/delete_icon.png')"
verticalCenter="0"
click="btn_delete_clickHandler(event)"/>
</s:HGroup>
좀 더 구체적인가요? 너의 문제는 무엇인가? 두 이벤트가 제대로 생성 되었습니까? – Anton
첫 번째 열의 셀을 클릭했을 때 시작된 itemRenderer에서 gridClick 이벤트와 이벤트를 구별 할 수 있기를 원합니다. 이 상황에서 두 이벤트가 시작됩니다. – Apalabrados
하지만 이벤트가 다르므로 이름을 통해 이벤트를 구별 할 수 있습니까? – Anton