当有人点击位于“删除列”下方的该行的按钮部分时,我想删除一行数据网格。我试过很多不同的方式,其中一个是
<mx:DataGrid id="userGrid" dataProvider="{userGridData}" width="800" height="500" itemClick="userGrid_itemClickHandler(event)" creationComplete="userGrid_creationCompleteHandler(event)">
<mx:columns>
<mx:DataGridColumn headerText="ID" dataField="user_id" />
<mx:DataGridColumn headerText="Email" dataField="user_email"/>
<mx:DataGridColumn headerText="Delete" itemRenderer="ev.renderers.UserGridDelete" id="deleteCol"/>
<mx:DataGridColumn headerText="Edit" itemRenderer="ev.renderers.UserGridEditRender"/>
</mx:columns>
</mx:DataGrid>
项目渲染ev.renderers.UserGridEditRender有一个删除按钮列表,点击事件它基本上userGridData.removeItemAt(userGrid.selectedIndex);
(UserGridData =网格的数据提供者,ID为“userGrid”)
但每当我点击按钮时抛出异常
RangeError: Index '-1' specified is out of bounds.
答案 0 :(得分:1)
如何让您的项目渲染器按钮调度包含所选“数据”的事件。
dispatchEvent( new DataMonkeyEvent(DataMonkeyEvent.DELETE_ROW, this.data) ); //where "this" is the button and the event should bubble.
在外部文档中侦听该事件,并相应地编辑你的userGridData ...如果你没有使用内部扩展数据提供者来监听孩子们改变了jive,那么invalidateList()。
希望有所帮助。 --jeremy