<?xml version="1.0" encoding="utf-8"?> <s:Application xmlns:fx="http://ns.adobe.com/mxml/2009" xmlns:s="library://ns.adobe.com/flex/spark" xmlns:mx="library://ns.adobe.com/flex/mx" creationComplete="initApp()"> <s:layout> <s:HorizontalLayout horizontalAlign="center" verticalAlign="middle"/> </s:layout> <fx:Script> <![CDATA[ import mx.controls.Alert; import mx.events.DataGridEvent; import mx.events.FlexEvent;
import spark.events.GridEvent; private var myContextMenu:ContextMenu;
private function initApp():void { popUpMenu(); }
private function popUpMenu():void { myContextMenu = new ContextMenu(); removeDefaultItems(); addCustomMenuItems(); //监听右键菜单弹出后的事件 myContextMenu.addEventListener(ContextMenuEvent.MENU_SELECT, menuSelectedHandler); myDataGrid.contextMenu = myContextMenu; } //删除原有菜单项 private function removeDefaultItems():void { myContextMenu.hideBuiltInItems(); var defaultItems:ContextMenuBuiltInItems = myContextMenu.builtInItems; defaultItems.print = false; } //添加用户自定义菜单项 private function addCustomMenuItems():void { var item:ContextMenuItem = new ContextMenuItem("删除行"); //默认的菜单项 item.visible = false; myContextMenu.customItems.push(item); //监听选择菜单项后的事件 item.addEventListener(ContextMenuEvent.MENU_ITEM_SELECT, itemSelectedHandler); } //弹出菜单后的事件处理函数 private function menuSelectedHandler(event:ContextMenuEvent):void { var item:ContextMenuItem = myContextMenu.customItems[0] as ContextMenuItem;
if (myDataGrid.selectedIndex >= 0) { item.visible = true; } else { item.visible = false; } } //选择菜单项后的事件处理函数 private function itemSelectedHandler(event:ContextMenuEvent):void {
if (myDataGrid.selectedIndex >= 0) { myDataGrid.dataProvider.removeItemAt(myDataGrid.selectedIndex); } }
]]> </fx:Script> <s:DataGrid requestedRowCount="4" width="500"> <s:columns> <s:ArrayList> <s:GridColumn dataField="dataField1" headerText="列 1"></s:GridColumn> <s:GridColumn dataField="dataField2" headerText="列 2"></s:GridColumn> <s:GridColumn dataField="dataField3" headerText="列 3"></s:GridColumn> </s:ArrayList> </s:columns> <s:typicalItem> <fx:Object dataField1="示例数据" dataField2="示例数据" dataField3="示例数据"></fx:Object> </s:typicalItem> <s:ArrayList> <fx:Object dataField1="数据1" dataField2="数据1" dataField3="数据1"></fx:Object> <fx:Object dataField1="数据2" dataField2="数据2" dataField3="数据2"></fx:Object> <fx:Object dataField1="数据3" dataField2="数据3" dataField3="数据3"></fx:Object> <fx:Object dataField1="数据4" dataField2="数据4" dataField3="数据4"></fx:Object> </s:ArrayList> </s:DataGrid>
</s:Application>
 (编辑:均轻资讯网)
【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!
|