Flex中让鼠标移至AdvancedDataGrid的行上不自动修改显示效果

所属分类: 网页制作 / Flash 阅读数: 1794
收藏 0 赞 0 分享
注意:事实上发现,mx:Repeater控件在数据大的时候性能很差。
但是当换成AdvancedDataGrid发现,鼠标在Grid上移动Flex自动为焦点所在行修改css,为屏蔽该效果,自定义如下控件:
ApmAdvancedDataGrid.as
复制代码 代码如下:

package com.nauproject.apm.common.custom
{
    import flash.events.MouseEvent;

    import mx.controls.AdvancedDataGrid;
    import mx.core.mx_internal;
    use namespace mx_internal;

    public class ApmAdvancedDataGrid extends AdvancedDataGrid
    {
        public function ApmAdvancedDataGrid()
        {
            super();
        }

        override protected function mouseOverHandler(event:MouseEvent):void {
        }

        override protected function mouseDownHandler(event:MouseEvent):void {
        }
    }
}

ApmAdvancedDataGridColumn.as
复制代码 代码如下:

package com.nauproject.apm.common.custom
{
    import mx.controls.advancedDataGridClasses.AdvancedDataGridColumn;

    [DefaultProperty("apmColumn")]

    public class ApmAdvancedDataGridColumn extends AdvancedDataGridColumn
    {
        public function ApmAdvancedDataGridColumn(columnName:String=null)
        {
            super(columnName);
        }

    }
}

用法示例:
复制代码 代码如下:

<custom:ApmAdvancedDataGrid id="reqResearchSeeds" headerHeight="0"
                        sortableColumns="false"
                        selectionMode="multipleCells"
                        alternatingItemColors="[0xccffcc, 0xfafad2]"
                        variableRowHeight="true"
                        designViewDataType="flat"
                        borderStyle="none"
                        verticalGridLineColor="#FFFFFF"
                        themeColor="#FFFFFF"
                        width="100%"
                        height="100%">
                        <custom:columns>
                            <custom:ApmAdvancedDataGridColumn headerText="Album" dataField="album" width="50"/>
                            <custom:ApmAdvancedDataGridColumn itemRenderer="com.nauproject.apm.common.custom.LabelTextReqRes"/>
                        </custom:columns>
                    </custom:ApmAdvancedDataGrid>

注意:LabelTextReqRes.mxml
复制代码 代码如下:

<?xml version="1.0" encoding="utf-8"?>
<mx:Canvas xmlns:mx="http://www.adobe.com/2006/mxml">
    <mx:Script>
        <!--[CDATA[
            import mx.collections.ArrayCollection;
            import mx.controls.AdvancedDataGrid;
        ]]-->
    </mx:Script>
    <mx:VBox>
        <mx:Label id="lab1" text="◆研究テーマ"/>
         <mx:Text id="txt1" htmlText="{data.rthema}" width="455" y="{lab1.height}"/>    
         <mx:Label id="lab2" text="◆キーワード" y="{lab1.height + txt1.height}"/>
         <mx:Text id="txt2" htmlText="{data.keyword}" width="455" y="{lab1.height + txt1.height + lab2.height}"/>
         <mx:Label id="lab3" text="◆研究の特徴" y="{lab1.height + txt1.height + lab2.height + txt2.height}"/>
         <mx:Text id="txt3" htmlText="{data.rtoku}" width="455" y="{lab1.height + txt1.height + lab2.height + txt2.height + lab3.height}"/>
         <mx:Label id="lab4" text="◆技術移転の可能性" y="{lab1.height + txt1.height + lab2.height + txt2.height + lab3.height + txt3.height}"/>
         <mx:Text id="txt4" htmlText="{data.rkanousei}" width="455" y="{lab1.height + txt1.height + lab2.height + txt2.height + lab3.height + txt3.height + lab4.height}"/>
    </mx:VBox>
</mx:Canvas>
更多精彩内容其他人还在看

AS3.0 实例学习 熟悉addChild和removeChild在不同的swf之间的运用,以及loader的用法

这篇文章通过实例给大家介绍了AS3.0 实例学习 熟悉addChild和removeChild在不同的swf之间的运用,以及loader的用法,非常不错,需要的朋友参考下吧
收藏 0 赞 0 分享

AS3.0 实例学习 熟悉tween以及tweenEvent的运用

AS3.0 实例学习 熟悉tween以及tweenEvent的运用
收藏 0 赞 0 分享

AS3.0实例学习 熟悉xml的运用

AS3.0实例学习 熟悉xml的运用
收藏 0 赞 0 分享

AS3.0  实例学习 熟悉AS3的package,以及多个package之间的相互通信

AS3.0  实例学习 熟悉AS3的package,以及多个package之间的相互通信
收藏 0 赞 0 分享

AS3.0 通过类来实现一个gallery

AS3.0 通过类来实现一个gallery
收藏 0 赞 0 分享

AS3脚本编写的计时器效果代码

这篇文章通过实例代码给大家接受了AS3脚本编写的计时器效果,代码简单易懂,需要的朋友参考下吧
收藏 0 赞 0 分享

土人系列AS入门教程--基础篇

土人系列AS入门教程--基础篇
收藏 0 赞 0 分享

土人系列AS入门教程--语法篇

土人系列AS入门教程--语法篇
收藏 0 赞 0 分享

土人系列AS入门教程 -- 对象篇

土人系列AS入门教程 -- 对象篇
收藏 0 赞 0 分享

土人系列AS入门教程--实战篇

土人系列AS入门教程--实战篇
收藏 0 赞 0 分享
查看更多