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

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

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

    隨筆-15  評論-79  文章-0  trackbacks-0

     cognos中有列表和圖形,但是表和圖之間總是孤立的,刷新頁面也都是全頁面刷新,于是經理在想,是否有個方法能在點擊cognos列

    表時旁邊的cognos圖表能夠實時的變動,類似flex中的綁定效果。在老板的強烈催促下,經理也沒什么時間去網上去找去問,覺得憑自己以前

    的一些J2EE老底子加上report studio中強大的HTML項目貌似可以搞定,于是開搞了...
     首先給大家看看數據庫

    一、先用report studio建立一個帶參數的cognos餅圖報表(這里可以隨便是什么圖),報表灰常簡單

    設置參數名為par3,并把此報表保存為a1
    二、再用report studio建立一個列表,如圖

    經理在這里多用了html項目,因為cognos在頁面上封裝的太好了,只能這樣拼湊腳本。
    基本的原理就是在列表旁邊放置一個html項目,其內容是一個iframe,其連接也就是剛剛做好的那個帶參數的餅圖報表。
    然后在列表中放置一個label,在label中設置點擊事件出來iframe鏈接(其實這樣就換了一個參數)及重新載入。

    其中
    1的代碼如下,他主要是點擊的列表觸發的事件

    1<script type="text/javascript">
    2    function changeframe(par)
    3    {
    4        sname="http://localhost/cognos8/cgi-bin/cognos.cgi?b_action=cognosViewer&ui.object=/content/package[@name='aa']/report[@name='a1']&ui.action=run&run.prompt=false&p_par3="+par;
    5        frameChart.location.href=sname;
    6    }

    7</script>

     

    2到6主要就是定義一個含有點擊事件的label
    2的代碼為

    1<u><label onclick="changeframe('


    3其實是一個報表表達式,它是參數

    1[query1].[arr2]


    4的代碼為

    1');"  style="width:100%;height:100%" >


    5也是一個報表表達式,他是設置該列顯示的內容

    1[arr2]


    6的代碼為,他收個尾

    1</label ></u>


    7的代碼主要是iframe,然后就是刷新等待時候的一個等待提示
    7的代碼為

     1<iframe frameborder="0" id="frameChart" src="" scrolling="no" height="450" width="100%"></iframe>
     2<div id="loading" style="display:block; padding:100px 0 100px 0;text-align:center;color:#999999;font-size:12px;">
     3      頁面加載中
     4    </div>
     5<script type="text/javascript">     
     6     var  a  = document.getElementById("frameChart");   
     7     var b  = document.getElementById("loading");   
     8     a.style.display =  "none";                     
     9     b.style.display = "block";                     
    10     
    11        if  (window.ActiveXObject)   {   
    12
    13
    14     a.onreadystatechange =  function()     
    15     {   
    16        if (this.readyState=="complete")   
    17         {                                                                   
    18             b.innerHTML  =   "";   
    19              b.style.display = "none";   
    20             a.style.display  = "";   
    21          }
       
    22     }
     
    23     }
    else
    24     a.style.display =  "block";                     //隱藏 
    25     b.style.display = "none"
    26     }

    27  </script>


    拼滴我累死了.....

    OK,我們來看看效果
    我先點擊一下第一個單元格

    再點擊第二個

    注意,列表不會刷新哦,有點像ajax的效果。


    后來想想,其實功能挺簡單的。
    例子比較簡陋,只是想傳達一個思想,希望以后大家有好東西能一起交流。

    posted on 2010-08-20 17:37 張元Won 閱讀(4316) 評論(4)  編輯  收藏 所屬分類: Cognos

    評論:
    # re: cognos列表與圖形聯動效果[未登錄] 2010-10-28 18:37 | apple
    我試過了但是有個問題,第三個和第5個html引用的報表表達式沒有起到作用是由于什么原因呢,第5個控制顯示內容但是顯示的是字符串并沒有當成報表數據項顯示啊,第三個html同樣是這個問題,我是按照你的方法寫的結果卻沒有你的效果不理解  回復  更多評論
      
    # re: cognos列表與圖形聯動效果[未登錄] 2010-10-29 09:00 | apple
    我解決了因為是新手還要向您多多學習,謝謝  回復  更多評論
      
    # re: cognos列表與圖形聯動效果 2010-10-30 00:14 | え經理え
    不好意思,今天才看到。應該是不會有問題的~ 拼js,多看看左右的括號!!@apple
      回復  更多評論
      
    # re: cognos列表與圖形聯動效果[未登錄] 2012-08-29 15:48 | decode360
    不用拼接,可以寫到一起的。把HTML的類型換成字段就可以。  回復  更多評論
      
    主站蜘蛛池模板: 91麻豆国产免费观看| 亚洲av无码一区二区乱子伦as| 国产一级淫片a免费播放口| 亚洲熟妇无码八V在线播放| 亚洲精品人成在线观看| 亚洲天堂中文字幕在线| 尤物永久免费AV无码网站| **一级毛片免费完整视| 91视频免费网站| 国产精品亚洲专区无码不卡| 亚洲人成网男女大片在线播放 | 亚洲精品第一综合99久久| 亚洲AV综合色区无码一区爱AV| 亚洲?V无码乱码国产精品| 在线免费观看国产视频| a级毛片无码免费真人| 亚洲一区二区三区免费在线观看| 免费无码又爽又刺激网站| 人人爽人人爽人人片A免费| 亚洲国产精品久久久久秋霞小| 亚洲校园春色另类激情| 亚洲码一区二区三区| 亚洲成a人片77777老司机| 亚洲av激情无码专区在线播放| 久久精品国产亚洲AV不卡| 亚洲一区二区精品视频| 亚洲国产一区二区视频网站| 国产aa免费视频| 免费观看四虎精品国产永久| 国产黄色片在线免费观看| 午夜一级免费视频| 日韩在线天堂免费观看| 国产禁女女网站免费看| 国产黄色片在线免费观看| 又粗又大又猛又爽免费视频| 免费在线观看a级毛片| 亚洲国产成人VA在线观看| 亚洲日韩中文字幕日韩在线 | 国产福利免费视频| 国产在线精品一区免费香蕉| 久久久久久国产a免费观看不卡|