Параметр сброса в Pentaho CDE

У меня есть компонент таблицы данных и семь множественных селекторов, связанных с ним. И я хочу сбросить все селекторы на значение по умолчанию с помощью кнопки сброса. Мой источник данных - база данных SQL, поэтому у меня нет опции «Все» в этих селекторах. Есть ли способ сделать это?

 blairmeister07 июн. 2016 г., 11:51
Просто добавьте кнопку или <p> внутри компонента HTML и укажите href как href = "", чтобы перезагрузить панель с настройками по умолчанию.

Ответы на вопрос(1)

Добавление значений по умолчанию для селекторовДобавление кнопки, которая сбрасывает эти селекторы к их значению по умолчанию

За1 Я бы пошел на что-то вроде этого:

Установите запрос SQL для источника данных селекторов следующим образом:

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

Таким образом, вы также будете иметь значение% как возможный вариант. Это будет ваше значение по умолчанию, но ваш запрос к DataTable придется использоватьLIKE ${YOUR_PARAMETER} вWHERE пункт, чтобы это работало.

Теперь для2 вам нужно подготовиться, чтобы все заработало:

Сделайте ваши избранные компонентыСлушать к тому же параметру, который они устанавливают. Таким образом, изменение параметра также приведет к обновлению выбранного пользовательского интерфейса.

Добавьте компонент Script, чтобы вы могли написать функцию для сброса параметров в нем. Таким образом, вы можете вызвать эту функцию в случае нажатия кнопки.

Последний трюк - просто добавить кнопку, которая вызовет эту функцию. Вы можете использовать обычный старый синтаксис 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>

Я не пробовал, но это должно сработать!

Ваш ответ на вопрос