2010-11-23 94 views
0

我想在某人点击位于删除列下方的那一行的按钮部分时删除我的数据网格的一行。我想这些的许多不同的方式一个人要通过单击删除列中该行的按钮部分删除Datagrid的行?

<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有click事件的删除按钮房源就基本做userGridData.removeItemAt(userGrid.selectedIndex); (UserGridData =数据网格的供应商ID为“userGrid” ) 但每当我点击按钮的例外是抛出

RangeError: Index '-1' specified is out of bounds. 

回答

1

如何让你的项目渲染器按钮,调度已在其选定的“数据”的事件。

dispatchEvent(new DataMonkeyEvent(DataMonkeyEvent.DELETE_ROW, this.data)); //where "this" is the button and the event should bubble. 

监听外文档中的事件,并相应地修改您的userGridData ... invalidateList()如果你不使用内部扩展的dataProvider是听孩子们改变了摇摆。

希望有所帮助。 --jeremy

+0

我已经尝试过这一点,有趣的是,只有索引为0和1的行才会引发异常,因为它的工作原理很好。 – 2010-11-23 18:58:07

相关问题