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

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

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

    有才華的人,別忘記給滋潤(rùn)你的那塊土壤施肥

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

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


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

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

             
    /**
             * 用這個(gè)對(duì)應(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)有一些屬性更改或拖動(dòng)來更新footer的位置等等,那么我們還有重寫一個(gè)方法:
    override public function invalidateDisplayList():void
             
    {
                  super.invalidateDisplayList();
                  
    if (footer)
                       footer.invalidateDisplayList();
             }
         還有一個(gè)類DataGridFooter,這個(gè)就是我們的主角,用于顯示列尾的數(shù)據(jù),關(guān)于這個(gè)類沒什么特別的,就是計(jì)算他們的位置顯示等等,有興趣的朋友可以在下面的資料中下載代碼看看。

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

    源文件下載:Download


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

    評(píng)論

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

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

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

      回復(fù)  更多評(píng)論
      

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

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

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

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

    主站蜘蛛池模板: 青青久在线视频免费观看| a在线视频免费观看| 皇色在线视频免费网站| 亚洲av日韩av天堂影片精品| 成人一区二区免费视频| 亚洲狠狠婷婷综合久久久久| 成人免费av一区二区三区| 亚洲欧洲美洲无码精品VA| 你懂的免费在线观看| 黑人精品videos亚洲人| 野花香高清在线观看视频播放免费| 亚洲精品蜜桃久久久久久| 国产婷婷成人久久Av免费高清| 亚洲成av人影院| 一级毛片免费毛片一级毛片免费 | 99久久人妻精品免费二区| 午夜亚洲AV日韩AV无码大全| **aaaaa毛片免费同男同女| 亚洲国产成人91精品| 精品国产精品久久一区免费式| 亚洲国产欧美日韩精品一区二区三区 | 亚州**色毛片免费观看| 中文字幕亚洲不卡在线亚瑟| 一个人免费视频在线观看www| 亚洲天堂男人天堂| 成人免费毛片观看| 一级美国片免费看| 亚洲色四在线视频观看| 在线观看的免费网站| 日韩精品视频在线观看免费| 亚洲精品无码久久久久sm| 97视频免费在线| 免费人成再在线观看网站| 亚洲电影一区二区| 四虎影院免费视频| 成人精品视频99在线观看免费| 亚洲日本视频在线观看| 免费v片在线观看品善网| 日韩精品内射视频免费观看| 国产亚洲精品VA片在线播放| 亚洲日韩精品无码专区网址|