官术网_书友最值得收藏!

Changing the title of the value prompt

In the previous example, the first line of the value prompt shows the data item name, that is, Month key (ship date) as shown in the following screenshot:

The business owners want to change this to a more generic and user-friendly text.

Getting ready

We will use the report generated in the previous recipe.

How to do it...

We need to add a line to the JavaScript from the previous recipe to change the text of first option (index 0). To do this perform the following steps:

  1. Open the prompt page of the report created in the previous recipe.
  2. Double-click on the HTML item that contains the JavaScript.
  3. Replace the code with the following:
    <script>
    var theSpan = document.getElementById("A1");
    var a = theSpan.getElementsByTagName("select"); 
    for( var i = a.length-1; i >= 0; i-- )  
      { var prompts = a[i];
      if( prompts.id.match(/PRMT_SV_/))
      { prompts.selectedIndex = 3;
        prompts.options[0].text = 'Choose Shipment Month'; /* This is the new line added to script */
      }     
      canSubmitPrompt();
    }
    </script>
  4. Run the report to test it as shown in the following screenshot:

How it works...

By default, the first line of a value prompt is the name of the data item. If you define the data item expression within brackets, that is, ([Sales (query)].[Time (ship date)].[Month key (ship date)]) in this example, then the first line of the value prompt is populated by the parameter name.

However, there is no property within Report Studio that would allow us to put a custom title. Hence, we are using JavaScript. We already know how to capture the prompt control using the GetElementsbyTagName function. Once it is captured, we can manipulate the values. We change the text property of the options[0] element to update the first line of the prompt.

There's more...

You can also use the REMOVE() function to remove particular lines of a value prompt. It is often useful to remove the first two lines (title and separator) using the following statements:

Prompts.remove(0);
Prompts.remove(1);
Prompts.removeAttribute("hasLabel");
主站蜘蛛池模板: 正阳县| 宝清县| 玉林市| 永康市| 吴堡县| 宁化县| 南丹县| 增城市| 宁明县| 竹山县| 朝阳县| 邯郸市| 区。| 喀什市| 呼伦贝尔市| 高密市| 右玉县| 汝南县| 固阳县| 南澳县| 五台县| 永州市| 平泉县| 澄江县| 磐安县| 韶山市| 桐乡市| 仁寿县| 德钦县| 隆德县| 丹东市| 溆浦县| 平阴县| 永胜县| 岢岚县| 永丰县| 时尚| 凤阳县| 河池市| 洛隆县| 日喀则市|