<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的類型換成字段就可以。  回復  更多評論
      
    主站蜘蛛池模板: 女人被弄到高潮的免费视频| 在线观看www日本免费网站| 日本黄色免费观看| 国产亚洲精品bv在线观看| 最新欧洲大片免费在线| 国产成人精品日本亚洲11| 永久免费AV无码国产网站| 亚洲乱码一二三四五六区| 久久久久免费看黄A片APP| 亚洲人成电影网站色www| 一区二区无码免费视频网站| 亚洲精品国产av成拍色拍| 免费国内精品久久久久影院| 一级a性色生活片久久无少妇一级婬片免费放 | 亚洲欧美日韩综合久久久久| 四虎影视www四虎免费| 免费看一级一级人妻片 | 一级毛片正片免费视频手机看 | 亚洲AV永久无码精品一福利| 国产国产成年年人免费看片| 无遮挡免费一区二区三区| 亚洲自偷自偷图片| 午夜精品免费在线观看| 7777久久亚洲中文字幕| 免费不卡中文字幕在线| 国产日韩一区二区三免费高清| 老司机亚洲精品影院无码| 免费在线观看的网站| jizz免费在线观看| 亚洲欧洲在线观看| 真实乱视频国产免费观看| 国产精品成人免费观看| 亚洲精品在线不卡| 国产午夜免费福利红片| 免费av一区二区三区| 亚洲国产精品成人综合色在线| 国产亚洲欧洲精品| 成人无遮挡毛片免费看| 西西人体免费视频| 亚洲国产精品嫩草影院| 亚洲天堂在线播放|