In this article
Retrieving values
The following statements are used for retrieving parameter values:
- state.Parameters.GetString - for String parameters
- state.Parameters.GetDate - for Date parameters
- state.Parameters.GetDecimal - for Numeric parameters
- state.Parameters.GetProjectId- for Project parameters
- state.Parameters.GetBannerId - for Banner parameters
- state.Parameters.GetSegmentId - for Segment parameters.
Inheriting values
All parameters are constant across the report unless it they are set on page load or cleared via buttons. This means that set parameter values are inherited automatically.
Setting values
It is possible to set parameter values depending on selected parameter values, user data and so on.
Setting a value for a Single Parameter when no value has been selected
if(state.Parameters.IsNull("p_yn"))
{
state.Parameters["p_yn"] =new ParameterValueResponse("1"); //1 is yes
Setting a value for a Single Parameter based on selected value
if(!state.Parameters.IsNull("p_Gender")) //Checking if parameter is not empty
{
var Gender : String = state.Parameters.GetString("p_Gender"); //Getting the value
state.Parameters["p_Gender"] =new ParameterValueResponse(Gender); //Assigning the value
}
Setting a Multi parameter
if(state.Parameters.IsNull("p_Channel")){ //Check if the parameter is empty
var valArr : ParameterValue[]; //Create a Array
//Create and assign values for the array
var val1 : ParameterValueResponse = new ParameterValueResponse("1");
var val2 : ParameterValueResponse = new ParameterValueResponse("2");
var val3 : ParameterValueResponse = new ParameterValueResponse("5");
valArr = [val1, val2, val3]; //assign the values to the array
// Get the value from above for populating the parameter
var multiResponse : ParameterValueMultiSelect = new ParameterValueMultiSelect(valArr);
//Set the new value
state.Parameters["p_Channel"] = multiResponse;}
Setting a multi-select parameter:
var valArr : ParameterValue[];
if(user.HasRole("1"))
{
var val1 : ParameterValueResponse = new ParameterValueResponse("1");
var val2 : ParameterValueResponse = new ParameterValueResponse("2");
var val3 : ParameterValueResponse = new ParameterValueResponse("5");
valArr = [val1, val2, val3];
}
// Get the value from the p_multi_select parameter
var multiResponse : ParameterValueMultiSelect = new ParameterValueMultiSelect(valArr);
state.Parameters["multitest"] = multiResponse;
Setting a single-select parameter:
state.Parameters["selectscenario"] = new ParameterValueResponse("999");
Deriving a parameter from another parameter:
if(state.Parameters.IsNull("p_project"))
state.Parameters["p_question"] = null;
Clearing values
The Clear Button and the state.Parameters.Clear statement can be used to reset parameter values.
Reset Parameter Filters
if(page.SubmitSource == "Clear Button")
{
state.Parameters.Clear();
}
Printing out values to screen
Example - Printing a parameter value to screen:
var Channel : String = state.Parameters.GetString("p_yn"); //The Get Method
Channel += " is the set code for parameter p_yn when the page loads."
text.Output.Append(Channel); //The Print Method