Есть ли способ сделать параметр необязательным в Birt с источником данных XML? - PullRequest
0 голосов
/ 11 июня 2019

У меня есть источник данных xml с 2 параметрами. Когда я фильтрую эти 2 параметра, это дает правильные результаты. Если я фильтрую по 1 параметру, это не возвращает никаких результатов, потому что я не фильтровал второй параметр. Поэтому мне было интересно, решит ли эта проблема второй параметр.

Я также подумал, что если второй параметр пуст, тогда установите его, чтобы выбрать все в параметре.

function addFilterItem (table, rowExpr, paramExpr){

  var filterCondition = StructureScriptAPIFactory.createFilterCondition(); 
  filterCondition.setOperator("in");
  filterCondition.setExpr(rowExpr); 
  filterCondition.setValue1(paramExpr);

// could do in one step, shows DEAPI creation steps
  var filterKey = filterCondition.getStructure();
  var filterItem = SimpleElementFactory.getInstance().createFilterCondition( filterKey );

  table.addFilterCondition(filterItem);
}

if (params["name"].value != null ){
  addFilterItem (this, 'row["name"]' , 'params["name"].value' );
}
if (params["country"].value != null){
  addFilterItem (this, 'row["country"]' , 'params["country"].value' );
}

Я пробовал функции, которые добавляют фильтр, но он все еще не работает.

...