加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

flex AdvancedDataGrid实现右键内容复制

发布时间:2020-12-15 04:29:14 所属栏目:百科 来源:网络整理
导读:主文件代码: ?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" minWidth="955" minHeight="600" creationComplete="

主文件代码:

<?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" minWidth="955" minHeight="600" creationComplete="initApp()">
        <s:layout>
                <s:BasicLayout/>
        </s:layout>
        
        <fx:Script>
                <![CDATA[
                        import mx.collections.ArrayCollection;
                        import mx.events.ListEvent;
                        
                        [Bindable]
                        private var _data:ArrayCollection = new ArrayCollection([
                                {uid:1,name:"张三"},{uid:2,name:"李四"},{uid:3,name:"王五"},{uid:4,name:"赵六"},{uid:5,name:"周洁杰"}
                        ]);
                        
                        private static var _selectedCount:Number;
                        private var _selectedItem:Object;
                        
                        [Bindable]
                        private var _contextMenu:ContextMenu ;
                        
                        private  function initApp():void{
                                _contextMenu = new ContextMenu();
                                var contextMenuItem:ContextMenuItem = new ContextMenuItem("复制姓名",true);
                                contextMenuItem.addEventListener(ContextMenuEvent.MENU_ITEM_SELECT,onset);
                                _contextMenu.customItems.push(contextMenuItem);
                                _contextMenu.addEventListener(ContextMenuEvent.MENU_SELECT,onselect);
                                _contextMenu.hideBuiltInItems(); // 隐藏一些内建的鼠标右键菜单项 
                                
                        }
                        
                        public function onset(evt:ContextMenuEvent):void{
                                System.setClipboard(adg.selectedItem.name);//将信息复制到系统剪切板
                        }
                        
                        public function onselect(evts:ContextMenuEvent):void{
                                adg.selectedIndex = _selectedCount;
                        }
                ]]>
        </fx:Script>
        
        <fx:Declarations>
                <!-- 将非可视元素(例如服务、值对象)放在此处 -->
        </fx:Declarations>
        <mx:AdvancedDataGrid x="71"   itemRollOver="_selectedCount=event.rowIndex" id="adg" dataProvider="{_data}" y="79"  designViewDataType="flat" width="424" height="218">
                <mx:columns>
                        <mx:AdvancedDataGridColumn headerText="ID" dataField="uid" itemRenderer="AdvancedDataGridItem"/>
                        <mx:AdvancedDataGridColumn headerText="姓名" dataField="name" itemRenderer="AdvancedDataGridItem"/>
                </mx:columns>
        </mx:AdvancedDataGrid>
</s:Application>
itemRenderer的AdvancedDataGridItem:

<?xml version="1.0" encoding="utf-8"?>
<s:MXAdvancedDataGridItemRenderer 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">
        <mx:Text id="lblData" top="0" left="0" right="0" bottom="0" text="{listData.label}" />
</s:MXAdvancedDataGridItemRenderer>

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读