<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    有才華的人,別忘記給滋潤你的那塊土壤施肥

      BlogJava :: 首頁 :: 新隨筆 :: 聯(lián)系 :: 聚合  :: 管理 ::
      28 隨筆 :: 5 文章 :: 147 評論 :: 0 Trackbacks
          

             Excel的表格中會在在一組數(shù)據(jù)的后面有一行數(shù)據(jù)來顯示這個(gè)表格的某一列的平均數(shù),最大值,最小值等,在Flex中做些小動作也能做出類似效果。
        
        其實(shí)Alex Harui早已經(jīng)為我們做了要求,我們先看運(yùn)行效果:


          其實(shí)原理很簡單就是在重寫DataGrid在列尾添加一個(gè)UIComponent即取名為:DataGridFooter,讓它去展現(xiàn)平均數(shù),最大值等,在這里最重要的是重寫DataGridColumn,在這個(gè)類中我們添加一個(gè)footerColumn:DataGridColumn,讓這個(gè)footerColumn的labelFunction計(jì)算出對應(yīng)的平均數(shù),最大值等處理(關(guān)于labelFunction的使用請看這里:Flex Hack 01:labelFunction的使用),代碼如下:

    import mx.controls.dataGridClasses.DataGridColumn;
        [DefaultProperty(
    "footerColumn")]
        public class FooterDataGridColumn extends DataGridColumn
        
    {
             public 
    function FooterDataGridColumn()
             
    {
              super();
             }

             
    /**
             * 用這個(gè)對應(yīng)的labelFunction計(jì)算出這一列的最大值或最小值等等
             * *
    */

             public 
    var footerColumn:DataGridColumn;
        }

         然后就是重寫DataGrid,用于顯示列尾 ,如重寫createChildren方法:
    override protected function createChildren():void
            
    {
                super.createChildren();
                
    if (!footer)
                
    {
                    footer 
    = new DataGridFooter();
                    footer.styleName 
    = this;
                    addChild(footer);
                }

            }
       再就重寫adjustListContent方法以確定footer的位置:
      override protected function adjustListContent(unscaledWidth:Number = -1,
                                               unscaledHeight:Number 
    = -1):void
            
    {
              super.adjustListContent(unscaledWidth, unscaledHeight);
              listContent.setActualSize(listContent.width, listContent.height 
    - footerHeight);
              footer.setActualSize(listContent.width, footerHeight);
              footer.move(listContent.x, listContent.y 
    + listContent.height + 1);
             }
        同時(shí)當(dāng)有一些屬性更改或拖動來更新footer的位置等等,那么我們還有重寫一個(gè)方法:
    override public function invalidateDisplayList():void
             
    {
                  super.invalidateDisplayList();
                  
    if (footer)
                       footer.invalidateDisplayList();
             }
         還有一個(gè)類DataGridFooter,這個(gè)就是我們的主角,用于顯示列尾的數(shù)據(jù),關(guān)于這個(gè)類沒什么特別的,就是計(jì)算他們的位置顯示等等,有興趣的朋友可以在下面的資料中下載代碼看看。

    測試?yán)樱?a style="text-decoration: underline" target="_blank">點(diǎn)擊這里

    源文件下載:Download


    posted on 2009-08-17 22:27 kissjava 閱讀(2479) 評論(6)  編輯  收藏 所屬分類: Flex

    評論

    # re: Flex Hack 02:DataGrid列尾,用于數(shù)據(jù)匯總 2009-08-18 09:51 凡客誠品
    不錯(cuò)啊  回復(fù)  更多評論
      

    # re: Flex Hack 02:DataGrid列尾,用于數(shù)據(jù)匯總 2009-09-02 13:33
    源文件看起來是對的,但用起來會出現(xiàn)行列不對齊的錯(cuò)誤,不能使用  回復(fù)  更多評論
      

    # re: Flex Hack 02:DataGrid列尾,用于數(shù)據(jù)匯總 2009-09-03 22:13 kissjava
    @的
    呵呵,是嗎?我運(yùn)行沒問題呀

      回復(fù)  更多評論
      

    # re: Flex Hack 02:DataGrid列尾,用于數(shù)據(jù)匯總 2010-12-20 15:06 fff
    當(dāng)你把datagrid的屬性horizontalScrollPolicy="on"的時(shí)候(在下面顯示滾動條)

    這個(gè)時(shí)候你去拖動列線,改變列寬,右下角的數(shù)字就會露到datagrid的外面,有沒有解決辦法?
      回復(fù)  更多評論
      

    # re: Flex Hack 02:DataGrid列尾,用于數(shù)據(jù)匯總 2011-01-09 21:43 圣戰(zhàn)風(fēng)云
    你給datagrid加一個(gè)水平滾動條,你會發(fā)現(xiàn)一些BUG  回復(fù)  更多評論
      

    # re: Flex Hack 02:DataGrid列尾,用于數(shù)據(jù)匯總 2013-04-07 16:07 偽大神
    @kissjava
    要是lock了一列,下面的合計(jì)行會對不上,這個(gè)問題怎么解決?  回復(fù)  更多評論
      

    主站蜘蛛池模板: 久久免费精品一区二区| 美景之屋4在线未删减免费| 青青在线久青草免费观看| 亚洲一区二区三区久久| 国产a级特黄的片子视频免费| 日本特黄特色AAA大片免费| 亚洲电影中文字幕| 成在人线AV无码免费| 一区二区三区免费精品视频| 亚洲AV人人澡人人爽人人夜夜| 女人张腿给男人桶视频免费版| aa在线免费观看| 亚洲熟女综合色一区二区三区| 国产亚洲情侣一区二区无| 日本免费一区二区在线观看| 色多多A级毛片免费看| 亚洲黄色免费在线观看| 免费大香伊蕉在人线国产| 免费视频成人片在线观看| 美女黄频免费网站| 久久国产成人亚洲精品影院 | 亚洲日韩乱码中文字幕| 337p欧洲亚洲大胆艺术| 亚洲精品无码久久久久久久| 亚洲精品中文字幕无乱码| 亚洲乱码在线视频| 免费人成网站永久| 99视频有精品视频免费观看| 国产曰批免费视频播放免费s| 麻豆国产VA免费精品高清在线| 免费在线观看理论片| 亚洲av无码电影网| 中文字幕人成人乱码亚洲电影 | 一级毛片视频免费| 亚洲综合久久1区2区3区| 亚洲精品国产自在久久| 日本a级片免费看| 国产成人免费午夜在线观看| 久久精品国产免费| 久香草视频在线观看免费| 天天综合亚洲色在线精品|