cognos 10.1提示API Javascript

时间:2013-03-15 01:28:33

标签: cognos cognos-8 cognos-bi

在“附录H IBM Cognos BI的Prompt API”中,有一个关于如何使用方法调用addValues的示例。但是我试过的每次尝试都给我留下了0个结果。 以下是我一直试图使用的代码,不会产生任何错误。

   window.onload = function()
{
var oCR = cognos.Report.getReport("_THIS_");
       function setPromptValue(promptName, useValue, displayValue ) {
    var oP = oCR.prompt.getControlByName( promptName );

var oValue =( {"use": useValue, "display": displayValue});
oP.addValues( [oValue]);
}
setPromptValue ( 'L', 'ca', 'Canada');
}

我基本上传递了我的控制名称是“L”,并说使用'ca'但显示加拿大。它根本不起作用。有没有人能够做到这一点?我已经在这几个小时了,并且运气好,任何帮助都会非常感激。 谢谢大家 米格尔

2 个答案:

答案 0 :(得分:1)

我建议使用Cognos中的“静态选择”或“使用值”/“显示值”功能来解决此问题。

在您定义下拉列表的提示页面上,有三个属性。

使用静态选择,您可以定义特定于此报告的选项列表,这些选项在下拉列表中始终可用。除了使用查询填充下拉工具的内容之外,这可以代替或补充使用。

Static Choices in Cognos 8.4.1

在这里,您可以设置使用'ca'和显示为'加拿大',并且ca / Canada选项将始终可用。

现在ca ='Canada'是一个相当可重用的设置,因此最好的解决方案可能是有一个表定义国家代码及其名称(让我们将其称为COUNTRY_CODES)。在框架管理器中设置COUNTRY_CODES后,您可以创建一个查询,提取您希望用户选择的国家/地区代码,然后在“查询”属性下的“下拉”属性中,指定您创建的查询。

接下来,转到“使用价值”属性,然后选择国家/地区代码字段(其中“ca”为)。在“显示值”属性中,选择“国家/地区名称”字段(“加拿大”所在的位置)。

答案 1 :(得分:1)

您没有说明您的快速控制是什么类型的控制。如果控件是值提示,则必须确保“use”值有效,否则将被忽略。设置值时,不需要“显示”值。 您不需要window.load,只需执行该函数即可。我尝试了以下示例,但它确实有效。

(function() {
var oCR = cognos.Report.getReport("_THIS_");
function setPromptValue(promptName, useValue, displayValue ) {
    var oP = oCR.prompt.getControlByName( promptName );
    var oValue =( {"use": useValue});
    oP.addValues( [oValue]);
}
setPromptValue ( 'L', 'ca');})()