Поэтому я использую jQuery в своих отчетах, и у меня есть набор отчетов, которые все загружаются благодаря jQuery одновременно, поэтому клиент чувствует, что переходы выполняются быстрее, потому что им не нужно ждать между каждым кликом. Я хочу, чтобы все отчеты менялись в зависимости от запроса, который использует клиент. Поэтому, если они выберут определенный день, все отчеты в наборе будут изменены на этот день. Или, если у них есть определенная область, которую они выбирают, все отчеты попадают в эту область. Это позволит клиенту не загружать параметры в подсказку для каждого отчета. Мне интересно, есть ли способ сделать это. Я посмотрел и ничего не нашел.
Изменить. Итак, в моем отчете, в котором находятся все фреймы и подсказка о значении, которую я назвал changeMonth, у меня есть этот JS
<script>
var report = cognos.Report.getReport("_THIS_");
var radio = report.prompt.getControlByName('monthChange');
var currentRadioValue = radio.getValues()[0]; //Get initial value object
radio.setValidator(validateRadio); //Define function to validate prompt
function validateRadio(values) {
if (values && values.length > 0 && values[0].use != currentRadioValue.use) { //Only do anything if control has value and has changed
currentRadioValue = values[0]; //Assign new value for later comparison
for (var i=0; i<window.frames.length; i++) { //Loop through all iFrames
window.frames[i].changeValue(values[0].use); //Call the changeValue function passing in the radio button value
}
}
return true; //Indicates the prompt is valid
}
</script>
В отчетах, в которых я хочу использовать iframe, у меня есть подсказка со значением, представляющая собой раскрывающийся список с этим кодом в теге HTML.
<script>
function changeValue(str){
var report = cognos.Report.getReport("_THIS_"); //Grab a handle for the report
var control = report.prompt.getControlByName('monthChange'); //Grab a handle for the prompt control
control.addValues([{"use":str,"display":str}]); //Change the prompt to the passed in value
report.sendRequest(cognos.Report.Action.REPROMPT); //Reprompt the page
}
</script>
Они оба были выпадающими списками, если это имеет значение. Я вижу, что вы указали их как переключатели, поэтому я попробую это здесь через мгновение и дам вам знать, если это что-то изменило. Но как я его настроил, есть ли что-то еще, что я должен делать?