【问题标题】:Pentaho CDE Pop up component for data table columnsPentaho CDE 数据表列的弹出组件
【发布时间】:2026-01-04 08:15:02
【问题描述】:

我想为我的表格组件中的每一列制作弹出窗口,以解释该列中的数字来自哪里。下面的链接是一个在饼图上弹出的例子。有谁知道如何在数据表中做到这一点?

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

【问题讨论】:

    标签: javascript pentaho-cde


    【解决方案1】:

    2017 年编辑:

    我想介绍另一种方式(也许是更好的方式)来访问表中的行。现在我正在做的是:

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

    e.rowIdx 返回我单击的行的索引。当我使用 e.tableData[e.rowIdx] 时,我能够获取该行中的所有列,并且知道哪一列给了我想要的值,我可以使用列索引访问它。

    原帖:

    我将讲述我的经历。我有一个表,当我连续单击时,它会在我的仪表板中执行另一个查询。 我所做的,我不知道这是否是最好的方法,当我点击表格时执行一个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:alert,请查找一些 css 示例。我想它会对你有所帮助。

    【讨论】:

      最近更新 更多