2010-09-28 9 views
2

У меня есть datagrid, из которого я бы хотел удалить строки по желанию. Ниже представлен компонент рендеринга элементов, который я собираю для достижения желаемого результата, но должен быть лучший способ получить доступ к поставщику данных «родительской» сетки данных. У кого-нибудь есть идеи/предложения?Как удалить строку из datagrid?

<?xml version="1.0" encoding="utf-8"?> 
<s:MXDataGridItemRenderer xmlns:fx="http://ns.adobe.com/mxml/2009" 
xmlns:s="library://ns.adobe.com/flex/spark" 
xmlns:mx="library://ns.adobe.com/flex/mx" 
focusEnabled="true"> 
<fx:Script> 
<![CDATA[ 

public function deleteRow(event:MouseEvent):void 
{ 
var dataGrid:DataGrid = event.target.parent.parent.parent; // There has to be a better way to get the data grid then climbing up the entity chain like this. 
    dataGrid.dataProvider.removeItemAt(dataGrid.dataProvider.getItemIndex(data)); 
} 
]]> 
</fx:Script> 
<s:Button label="Delete" click="deleteRow(event)"/> 
</s:MXDataGridItemRenderer> 

ответ

1

Вы не ...

public function deleteRow(event : MouseEvent = null) : void { 
    var delEvent : DynamicEvent = new DynamicEvent("deleteEvent", true); 
    delEvent.dataToDelete = data; 
    dispatchEvent(delEvent); 
} 

то в классе с вашим DG ваш DG.

+0

Использование мероприятий - более чистый подход; спасибо за шоу & рассказать. – Mads610

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