2016-06-22 12 views
1

テーブルコンポーネントの各列にポップアップウィンドウを作成して、この列の番号の場所を説明します。以下のリンクは、円グラフのポップアップの例です。誰もデータテーブルでそれを行う方法を知っていますか?Pentaho CDEデータテーブルの列のポップアップコンポーネント

Popup Component Example in pentaho CDE - Popup on Pie & in the popup showing bar chart or any other CDE component

答えて

1

私は私の経験に関連します。行をクリックすると、ダッシュボードで別のクエリが実行されるテーブルが1つあります。 私がやったことは、これを実行する最善の方法であるかどうかわかりません。テーブルをクリックするとjavascriptコードが実行され、クリックされた列が情報を必要とするかどうかがチェックされます。テーブルコンポーネントの「clickAction」プロパティで

は、私は、これはJS持っている:

function f(e){ 
    if(e.category == 'COLUMN_NAME_DESIRED') 
    { 
     Dashboards.fireChange('my_variable', e.value); 
    } 
} 

をそして私は「my_variable」に耳を傾け、別のテーブルコンポーネントを持っています。したがって、値が変更されると、ダッシュボードはこの他のコンポーネントを読み込みます。あなたの特定のケースで

は、私はこれを行うだろう:

function f(e){ 
    if(e.category == 'COLUMN_NAME_1') 
    { 
     alert('this row represents X'); 
    } 
    if(e.category == 'COLUMN_NAME_2') 
    { 
     alert('this row represents Y'); 
    } 
} 

を今、あなたはポップアップダイアログではなくjsの使用したい場合:、警告をいくつかのCSSの例を探します。私はそれがあなたを助けると思う。

EDIT 2017:

私はテーブルの行にアクセスするための別の方法(おそらくより良い方法)を提示したいと思います。今私がやっていることはこれです:

Dashboards.fireChange('my_variable',e.tableData[e.rowIdx][column_index]); 

e.rowIdxは私がクリックしている行のインデックスを返します。 e.tableData [e.rowIdx]を使用すると、その行のすべての列を取得することができます。そして、どの列が私に希望の値を与えるのかを知っているので、列インデックスを使用してアクセスできます。

関連する問題