【问题标题】:Pentaho CDE reset parameterPentaho CDE 重置参数
【发布时间】:2016-09-25 06:23:28
【问题描述】:

我有一个数据表组件和七个与之相关的多重选择器。我想使用重置按钮将所有选择器重置为默认值。 我的数据源是 SQL 数据库,所以我在这些选择器中没有选择“全部”选项。有什么方法可以实现吗?

【问题讨论】:

  • 只需在 HTML 组件中添加一个按钮或

    并将 href 指定为 href="" 这将使用默认设置重新加载您的仪表板。

标签: parameters datatable pentaho pentaho-cde


【解决方案1】:

有两个问题需要解决:

  1. 为选择器添加默认值
  2. 添加一个将这些选择器重置为默认值的按钮

对于1,我会选择这样的:

  • 为选择器数据源设置 SQL 查询,如下所示:

    SELECT '%' FROM [ANY TABLE] UNION [YOUR EXISTING QUERY]

    这样,您还可以选择值%。这将是您的默认值,但您的 DataTable 查询必须在 WHERE 子句中使用 LIKE ${YOUR_PARAMETER} 才能正常工作。

现在对于 2,您需要一些准备工作:

  • 让您选择的组件聆听它们设置的相同参数。这样更改参数也会触发选择 UI 的更新。

  • 添加一个脚本组件,以便您可以编写函数来重置其中的参数。这样,您可以在按下按钮时调用此函数。

  • 最后的技巧就是添加一个按钮来触发这个功能。您可以使用普通的旧 HTML+JS 语法。

函数 + HTML 按钮是这样的:

function resetParameters() {
  // The names of the parameters to be reset
  var parameters = [
    'param1',
    'param2',
    ...
  ];

  // Iterate them
  parameters.each(function(param) {
    // Fire the change to the default value. 
    // The selects are listening for this and will change 
    // the selected item accordingly
    Dashboards.fireChange(param, '%');
  });
}
<button onclick="resetParameters()">Reset</button>

我没试过,但它应该可以解决问题!

【讨论】:

    猜你喜欢
    • 2013-12-21
    • 2014-08-14
    • 1970-01-01
    • 2014-07-02
    • 2018-09-23
    • 1970-01-01
    • 2013-04-16
    • 2014-07-07
    • 1970-01-01
    相关资源
    最近更新 更多