• 企业400电话
  • 微网小程序
  • AI电话机器人
  • 电商代运营
  • 全 部 栏 目

    企业400电话 网络优化推广 AI电话机器人 呼叫中心 网站建设 商标✡知产 微网小程序 电商运营 彩铃•短信 增值拓展业务
    在Flex中给datagrid添加右键菜单项的具体实现
    复制代码 代码如下:

    ?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" id="myDataGrid"
    width="500">
    s:columns>
    s:ArrayList>
    s:GridColumn dataField="dataField1" headerText="列 1" id="col1">/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>

    上一篇:Flex打开新窗口将主窗口数据传给子窗口然后返回
    下一篇:Flex中TextInput组件设置限制某些字符的输入的方法
  • 相关文章
  • 

    © 2016-2020 巨人网络通讯 版权所有

    《增值电信业务经营许可证》 苏ICP备15040257号-8

    在Flex中给datagrid添加右键菜单项的具体实现 在,Flex,中给,datagrid,添加,