`
牧羊人
  • 浏览: 210923 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

Flex中利用ContextMenu和ContextMenuItem类在DataGrid上创建一个自定义右键弹出菜单的例子

    博客分类:
  • flex
阅读更多
<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml"
        layout="vertical"
        verticalAlign="middle"
        backgroundColor="white"
        creationComplete="init()">
 
    <mx:Script>
        <![CDATA[
            import mx.controls.Alert;
 
            [Bindable]
            private var cm:ContextMenu;
 
            private var alert:Alert;
 
            private function init():void {
                var cmi:ContextMenuItem = new ContextMenuItem("菜单项", true);
                cmi.addEventListener(ContextMenuEvent.MENU_ITEM_SELECT, contextMenuItem_menuItemSelect);
                var cmi1:ContextMenuItem = new ContextMenuItem("菜单项1", false);
                cmi1.addEventListener(ContextMenuEvent.MENU_ITEM_SELECT, contextMenuItem_menuItemSelect1);
                
                cm = new ContextMenu();
                cm.hideBuiltInItems();
                cm.customItems = [cmi,cmi1];
                cm.addEventListener(ContextMenuEvent.MENU_SELECT, contextMenu_menuSelect);
            }
 
            private function contextMenu_menuSelect(evt:ContextMenuEvent):void {
                dataGrid.selectedIndex = lastRollOverIndex;
            }
 
            private function contextMenuItem_menuItemSelect(evt:ContextMenuEvent):void {
                var obj:Object = dataGrid.selectedItem;
                alert = Alert.show("Property A: " + obj.@propertyA + "\n" + "Property B: " + obj.@propertyB, obj.@label, Alert.OK);
            }
            private function contextMenuItem_menuItemSelect1(evt:ContextMenuEvent):void {
                var obj:Object = dataGrid.selectedItem;
                alert = Alert.show("Property A: " + obj.@propertyA + "\n" + "Property B: " + obj.@propertyB, obj.@label, Alert.OK);
            }
        ]]>
    </mx:Script>
 
    <mx:XML id="itemsXML">
        <items>
            <item label="Item 1" data="i001" propertyA="Item 1.A" propertyB="Item 1.B" />
            <item label="Item 2" data="i002" propertyA="Item 2.A" propertyB="Item 2.B" />
            <item label="Item 3" data="i003" propertyA="Item 3.A" propertyB="Item 3.B" />
            <item label="Item 4" data="i004" propertyA="Item 4.A" propertyB="Item 4.B" />
            <item label="Item 5" data="i005" propertyA="Item 5.A" propertyB="Item 5.B" />
            <item label="Item 6" data="i006" propertyA="Item 6.A" propertyB="Item 6.B" />
            <item label="Item 7" data="i007" propertyA="Item 7.A" propertyB="Item 7.B" />
            <item label="Item 8" data="i008" propertyA="Item 8.A" propertyB="Item 8.B" />
        </items>
    </mx:XML>
 
    <mx:Number id="lastRollOverIndex" />
 
    <mx:DataGrid id="dataGrid"
            width="400"
            dataProvider="{itemsXML.item}"
             contextMenu="{cm}"
             itemRollOver="lastRollOverIndex = event.rowIndex">
        <mx:columns>
            <mx:DataGridColumn id="labelCol"
                    dataField="@label"
                    headerText="Label:" />
 
            <mx:DataGridColumn id="propACol"
                    dataField="@propertyA"
                    headerText="Property A:" />
 
            <mx:DataGridColumn id="propBCol"
                    dataField="@propertyB"
                    headerText="Property B:" />
        </mx:columns>
    </mx:DataGrid>
 
    <mx:Label text="{dataGrid.selectedItem.@label}" />
 
</mx:Application>
分享到:
评论

相关推荐

    C# ContextMenu 窗口右键菜单实现

    C# ContextMenu,上下文菜单,在窗体正文区点击右键弹出的菜单,支持多层次显示的右键菜单,大多数的窗体都具备类似的菜单效果,在C#中使用这种菜单,也是比较基本的吧,因此本例子对C#初学者来说,可能比较实用吧。

    【JavaScript源代码】vue添加自定义右键菜单的完整实例.docx

    vue添加自定义右键菜单的完整实例  一、写原生方法  1.在所编辑的页面,需要添加右键菜单的元素,绑定contextmenu事件,如下:  v-for="item in resourceList" :key="item.id" @click="handleClickFolder(item...

    【JavaScript源代码】Vue+element-ui添加自定义右键菜单的方法示例.docx

    Vue+element-ui添加自定义右键菜单的方法示例  1、在所编辑的页面,需要添加右键菜单的元素,绑定... &lt;/template&gt; 2、在页面编写右键菜单内容 ,top:top+'px'}" class="contextmenu"&gt; 上移一层&lt;/li&gt; &lt;li&gt;

    vue添加自定义右键菜单的完整实例

    1.在所编辑的页面,需要添加右键菜单的元素,绑定contextmenu事件,如下: click=handleClickFolder(item) contextmenu.prevent=openMenu($event,item) &gt; ... 2.在页面编写右键菜单内容: &lt;ul v-show=...

    SilverLight 自定义右键菜单 ContextMenu

    右击一次就出来一次菜单,与SilverLight Toolkit中的不一样

    vue2.0的contextmenu右键弹出菜单的实例代码

    整理文档,搜刮出一个vue2.0的contextmenu右键弹出菜单的实例代码,稍微整理精简一下做下分享。 1.事情对象 &lt;!DOCTYPE html&gt; &lt;html&gt; &lt;head&gt; &lt;title&gt;&lt;/title&gt; &lt;meta charset="utf...

    MFC右键弹出菜单

    里边的程序是MFC使用右键菜单的方法,推荐使用CONTEXTMENU事件而非RBUTTONUP,因为RBUTTONUP可能会出现内存问题。

    jQuery鼠标右键弹出菜单选项.zip

    jQuery鼠标右键弹出菜单选项是一款jquery contextmenu鼠标右键点击页面弹出菜单选项代码。

    jquery contextmenu鼠标右键点击页面弹出菜单选项

    jquery contextmenu鼠标右键点击页面弹出菜单选项 jquery contextmenu鼠标右键点击页面弹出菜单选项

    Vue+element-ui添加自定义右键菜单的方法示例

    1、在所编辑的页面,需要添加右键菜单的元素,绑定contextmenu事件 &lt;el size=medium contextmenu.prevent.native=openMenu($event)&gt; ...... 2、在页面编写右键菜单内容 &lt;ul v-show=visible xss=removed class=...

    右键弹出菜单

    //所有div标签class为dTreeNode的绑定此右键菜单 $('div.dTreeNode').contextMenu('myMenu1', { onContextMenu: function(e) { document.getElementById("jdid").value=$(e.target).attr('id'); if ($(e....

    基于jquery的改进型(右键)列表菜单

    两种方法都要传一个必要的事件名称参数,如contextmenu右击,mousedown鼠标按下,比原来只能右键弹出更灵活。 改变了点击菜单项目时,触发方法的传参定义,现在只传两个参数:(点击菜单项目单元的ID,触发浮动菜单...

    3种不同的ContextMenu右键菜单演示.

    3种不同的ContextMenu右键菜单演示.,3种不同的ContextMenu右键菜单演示.3种不同的ContextMenu右键菜单演示.

    BootstrapContextMenu是一款非常实用的基于Bootstrap的jQuery右键上下文菜单插件

    Bootstrap Context Menu是一款非常实用的基于Bootstrap的jQuery右键上下文菜单插件。该右键菜单插件可以在多种元素上触发,也可以配合Font Awesome字体图标一起使用,非常的方便。

    C#自定义控件添加右键菜单的方法

    C#自定义控件添加右键菜单非常简单,主要用到控件,像control定义右键菜单,用items.add()叠加右键菜单内容,用click事件处理函数。 1、control是要定义右键菜单的控件。 private void control_MouseDown(object ...

    Web contextMenu右键菜单 v2.1

    Web contextMenu右键菜单通过指定的参数,渲染出一个漂亮的右键菜单,并绑定菜单项点击事件。需要的参数有:右键事件e。指定一个事件e,它可能是通过原生js、jq,甚至vue捕捉的;该插件将获取点击的位置,并阻止事件...

    C#WPF 右键菜单 显示 事件触发 测试通过

    MessageBox.Show("弹出一个窗口~然后修改右键菜单显示"); //获取或设置右键菜单信息 (e.Source as MenuItem).Header = "hello world"; //设置背景颜色 SolidColorBrush m_scb = new SolidColorBrush(); m_scb....

    自定义右键菜单项目(ContextMenuTuner)v1.0.0.1汉化绿色版(3264)

    Context Menu Tuner是一款绿色小巧的自定义添加右键菜单项目软件。该软件可以按文件类型添加以及按照位置添加,支持windows XP、windows Vista、windows7、windows 8、 windows 8.1 32位以及64位。程序分为32及64位...

Global site tag (gtag.js) - Google Analytics