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

DataGrid 制作经典的排行榜效果

阅读更多

Flex 作出 像迅雷看看 一样的 视频排行效果,要求鼠标移动上去会显示详细信息

效果如图:

说明:使用的空间就是datagrid

要注意的是:1.VBox 是可以自动 布局 产生缩放效果的

                     2· DataGrid 有一个属性 variableRowHeight="true" 可以让DataGrid 的行宽随子组件而改变

                     3·DataGrid 控制单元格最好 单独定义组件 这点 我另写一个帖子介绍

代码如下:

<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="
http://www.adobe.com/2006/mxml " layout="absolute" height="349" width="180" verticalScrollPolicy="off" horizontalScrollPolicy="off">
<mx:ArrayCollection id="goodList">
   <mx:Object name="小太阳" singer="五月天" source="1.mp3" special="小太阳" renqi="22"/>
   <mx:Object name="画心" singer="张靓颖" source="2.mp3" special="电影画皮主题曲" renqi="22"/>
   <mx:Object name="曹操" singer="林俊杰" source="3.mp3" special="JJ最新单曲" renqi="22"/>
   <mx:Object name="U And Me" singer="羽泉" source="4.mp3" special="朋友难当" renqi="22"/>
   <mx:Object name="原谅" singer="张玉华" source="5.mp3" special="张玉华同名专辑" renqi="22"/>
   <mx:Object name="勇气" singer="梁静茹" source="6.mp3" special="勇气" renqi="22"/>
</mx:ArrayCollection>
   <mx:Canvas width="179" height="594" verticalScrollPolicy="off" horizontalScrollPolicy="off">
   
    <mx:DataGrid id="secipal" x="0" y="0" dragEnabled="true" height="348" width="100%" selectable="false"
     alternatingItemColors="[#0A0A0A, #0A0A0A]" showHeaders="false" headerColors="#666060" dataProvider="{goodList}"
     horizontalScrollPolicy="off" verticalScrollPolicy="off"
     variableRowHeight="true">
     <mx:columns>
      <mx:DataGridColumn headerText="" dataField="musicName">
       <mx:itemRenderer>
        <mx:Component>
       
        <mx:VBox horizontalScrollPolicy="off" verticalScrollPolicy="off" creationComplete="init()"
        autoLayout="true">
        <mx:Script>
         <![CDATA[
          [Bindable]
          private var hid:int;
          [Bindable]
          private var cor:uint;
          private function init():void{
           hid=this.parentDocument.goodList.getItemIndex(data);
           trace(hid);
           if(hid<3){
            cor = 0xfc4a04 as uint;
          
           }else{
            cor = 0x777575 as uint;
           }
          }
          private function showmore():void{
           h1.height = 0;
           h2.height = 103;
           this.height = 103;
          
          }
          private function hidenmore():void{
           h1.height = 25;
           h2.height = 0;
           this.height = 30;         
          }
         ]]>
        </mx:Script>
         <mx:HBox id="h1" verticalAlign="middle" width="100%" horizontalScrollPolicy="off" verticalScrollPolicy="off"
         mouseOver="showmore()" mouseOut="hidenmore()">
          <mx:Spacer width="30" />
         
          <mx:TextInput width="17" color="#FFFFFF" text="{hid+1}" backgroundColor="{cor}" textAlign="center" editable="false" fontWeight="bold"/>
          <mx:Label color="#9a9a9a" text="{data.name}" height="25" width="100%" fontSize="13" textAlign="center"/>
         
         </mx:HBox>
        
          <mx:Canvas x="206" y="81" width="100%" backgroundColor="#050505" horizontalScrollPolicy="off" verticalScrollPolicy="off"
           id="h2" mouseOver="showmore()" mouseOut="hidenmore()" height="0" backgroundAlpha="1">
           <mx:Image x="0" y="0" width="77" height="103" source="{data.source}"/>
           <mx:TextInput id="tet1" x="85" y="0" width="17" color="#FFFFFF" text="{hid+1}" backgroundColor="{cor}" editable="false" fontWeight="bold"/>
           <mx:Text x="110" y="0" text="{data.name}" color="#FCFCFC" fontWeight="bold" fontSize="12"/>
           <mx:Text x="85" y="28" text="人气:" color="#CF4925" fontSize="11" width="44"/>
           <mx:Text x="120" y="28" text="{data.renqi}" width="97" color="#E5591B" fontSize="11"/>
           <mx:Text x="85" y="55" text="作者:" color="#C3C0BF" fontSize="11" width="44"/>
           <mx:Text x="120" y="55" text="{data.singer}" width="97" color="#BEBAB8" fontSize="11"/>
           <mx:Text x="85" y="75" text="共{data.renqi}集" color="#ACAEAE"/>
          </mx:Canvas>
        
         
        
        </mx:VBox>
        
        </mx:Component>
       </mx:itemRenderer>
      </mx:DataGridColumn>
     </mx:columns>
    </mx:DataGrid>
    
   </mx:Canvas>
  
</mx:Application>

分享到:
评论

相关推荐

    自定义DataGrid Jquery插件经典

    Jquery自定义插件经典参考,为个人在项目开发中依据需要定制开发基于html代码...一行 dataGrid = $("#dg").xpDataGrid({"bgcolor":"blue","rowWidth":50,"rowHeight":22});即可达到效果。即查学习的经典与实用的经典。

    DataGrid中嵌套DataGrid

    而"DataGrid中嵌套DataGrid"是一种复杂但非常实用的技术,它允许在一个DataGrid的行或列中内嵌另一个DataGrid,以展示层次化数据或相关联的数据集。这种技术同样适用于DataGrid与DataList,以及DataList之间的嵌套,...

    easyui-datagrid之间拖拽效果demo

    "easyui-datagrid 之间拖拽效果 demo" 重点展示了如何在两个 EasyUI Datagrid 之间实现数据的拖放功能,这对于提升用户体验,尤其是处理大量数据时的交互性至关重要。 首先,Datagrid 是 EasyUI 提供的一种表格控件...

    模仿EXT效果的datagrid

    在没有EXT库的情况下,我们可以使用JavaScript和其他相关技术来模仿EXT DataGrid的效果。 一、EXT DataGrid的核心特点 EXT DataGrid的主要特性包括: 1. 数据绑定:EXT DataGrid能够与后端数据源紧密结合,通过...

    jeasyui-datagrid-datagrid

    《JeasyUI DataGrid深度解析与开发指南》 在Web应用开发中,数据展示和交互是核心部分之一,而DataGrid作为数据展示的利器,深受开发者喜爱。JeasyUI DataGrid是一款基于jQuery的轻量级组件,它为开发者提供了丰富...

    WPF DataGrid 拖拽实现

    在Windows Presentation Foundation (WPF) 中,DataGrid控件是一个非常强大的工具,用于展示和编辑数据集合。在很多情况下,用户可能需要实现拖放功能,以便更自由地组织和操作表格中的数据。本文将深入探讨如何在...

    WPF DataGrid合并单元格(模板列嵌套DataGrid)

    本教程将详细讲解如何在DataGrid中实现单元格的合并,以及如何在模板列中嵌套另一个DataGrid,尽管这种“合并”并非传统意义上的单元格合并,而是通过自定义布局来达到类似的效果。 首先,我们要明白,WPF DataGrid...

    WPF DataGrid合并行

    在Windows Presentation Foundation (WPF) 中,DataGrid控件是一个非常强大的工具,用于展示和编辑网格数据。在处理大量数据时,我们有时需要对行进行合并以提高视觉效果和信息组织,例如,当需要合并具有相同值的列...

    easyui使用datagrid定制生成一个table

    - **DataGridTemplateColumn**:更灵活的实现方式,允许自定义模板以实现复杂的 UI 效果。 - 示例代码: ```xml 性别"&gt; ``` #### 二、DataGrid 的增删改功能 **2.1 增加记录** - **...

    DataGrid自定义列标题

    在.NET框架中,WPF(Windows Presentation Foundation)提供了一个强大的数据呈现控件——DataGrid,它用于显示和编辑网格形式的数据。在实际开发中,我们经常需要根据需求对DataGrid的列标题进行自定义,以增强界面...

    2.0DataGrid嵌套DataGrid,里面的鼠标滚动响应到外部,利用自定义命令传递滚轮事件参数实现

    2.0DataGrid嵌套DataGrid,里面的鼠标滚动响应到外部,利用自定义命令传递滚轮事件参数实现,详细效果请移步: https://blog.csdn.net/u010438205/article/details/105710794

    C#WPF之DataGrid用法

    ### C# WPF中DataGrid的使用详解 #### 一、引言 DataGrid是WPF框架中的一个重要控件,用于展示数据集。它提供了强大的数据绑定能力,并且支持多种数据操作,如增删改查及分页等功能。本文旨在通过实例详细讲解...

    打印DataGrid数据实例

    在.NET框架中,`DataGrid`控件是一个用于显示数据集或数据源的表格视图。这个实例将探讨如何利用C#编程语言和XPS(XML Paper Specification)格式来实现`DataGrid`数据的打印功能。XPS是一种开放标准,用于定义电子...

    使用DataGrid完成一个行级数据折叠收缩展示的功能

    以上只是一个基本的示例,实际应用中可能需要根据具体需求进行调整,比如添加动画效果,优化性能,处理大量数据时的虚拟化等。理解并熟练掌握DataGrid的折叠和展开功能,能够帮助你构建出更加交互友好和高效的WPF...

    bootstrap的datagrid组件

    作为基于Bootstrap的组件,DataGrid自然继承了其响应式布局特性,能够自动适应不同的屏幕尺寸,确保在手机、平板和桌面设备上都有良好的显示效果。 9. **示例代码**: 在提供的"datagrid例子"文件中,可能包含了...

    WPF DataGrid 行拖拽

    5. **动画效果**:为了提升用户体验,可以添加动画效果,使行的移动更加平滑。这可以通过Storyboards和Timeline类来实现。 6. **事件触发**:在拖放完成后,可以触发自定义事件,以便其他组件或业务逻辑可以响应行...

    Wpf datagrid 多选、单选、反选

    在Windows Presentation Foundation (WPF) 中,`DataGrid` 是一个强大的控件,常用于显示和操作表格数据。本篇文章将深入探讨如何实现`DataGrid`的多选、单选和反选功能,以提高用户界面的交互性。 首先,我们要...

    wpf中DataGrid数据双向绑定

    在WPF(Windows Presentation Foundation)中,DataGrid控件是一个非常强大的工具,用于展示和编辑表格数据。双向数据绑定是WPF的一项核心功能,它允许视图(UI)与模型(数据源)之间的数据自动同步,确保任何一方...

    Easyui-DataGrid表头拖动效果

    UI设计在一个系统中的重要性是不容忽视的,我们开发人员要做到:让用户去控制...给你的Easyui-DataGrid 表头添加一点料吧 Easyui-Datagrid—表头灵活显示http://blog.csdn.net/u010293698/article/details/47956865

    WPF.DataGrid.MergeRow

    在某些场景下,我们可能需要对DataGrid的行或单元格进行合并,以达到更美观或者特定的信息展示效果。标题"WPF.DataGrid.MergeRow"和描述中的"实现功能:WPF下DataGrid实现行单元格合并"正是针对这个需求的解决方案。...

Global site tag (gtag.js) - Google Analytics