如何从数据网格中删除行? [英] How to remove row from datagrid?

查看:33
本文介绍了如何从数据网格中删除行?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有一个数据网格,我希望能够随意删除行.下面是我为了实现预期结果而组合在一起的组件项渲染器,但必须有更好的方法来访问父"数据网格的数据提供者.有人有任何想法/建议吗?

I have a datagrid from which I'd like be able to remove rows at will. Below is the component item renderer I'm putting together in order to achieve desired result, but there has to be a better way to access the data provider of the "parent" data grid. Anyone have any ideas/suggestions?

<?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>

推荐答案

你不...

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

然后和你的 DG 一起在课堂上.

then in the class with your DG your DG.

<mx:DataGrid id="foo" dataProvider="{someDP}" />
foo.addEventListener( "deleteEvent", updateDP );
private function updateDP( event : DynamicEvent ) : void {
    foo.dataProvider.removeItem( event.dataToDelete );
}

这篇关于如何从数据网格中删除行?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆