Forum Discussion

Sergey's avatar
Sergey
Contributor III
3 years ago

Change value of a "input value" parameter type

Hi !

I'm looking for a way to change a value of an input value parameter type using a business rule.

The use case is quite simple : the user will input a value in order to calculate a data. However, using a button I would like to "reset" the input value with another value.

I can easily change the value of a "litteral parameter" with a business rule, but I dont know how to change the value of a "input value" parameter type (needless to say, a litteral parameter will not allow my user to input a value !)  ... so what would be the best way to achieve this ?

 

Regards,

  • Sergey,

    All of your session dashboard parameters (on selection change)  are stored/accessible in the dictionary args.SelectionChangedTaskInfo.CustomSubstVarsWithUserSelectedValues.

    Say you have a Textbox dashboard component that's used for input is assigned the parameter Param1, you can read or modify the value behind for Param1 as followed:

    Dim dashDic as dictionary = args.SelectionChangedTaskInfo.CustomSubstVarsWithUserSelectedValues

    'check to see if Param1 is in dashDic dictionary:

    If dashDic.ContainsKey("Param1") then

        'read the value:

       Dim x as string = dashDic("Param1")

       'write a value to Param1:

       dashDic("Param1") = "xxxxxxxx"

    End if

     

     

     

     

  • Cosimo's avatar
    Cosimo
    Contributor II

    Sergey,

    All of your session dashboard parameters (on selection change)  are stored/accessible in the dictionary args.SelectionChangedTaskInfo.CustomSubstVarsWithUserSelectedValues.

    Say you have a Textbox dashboard component that's used for input is assigned the parameter Param1, you can read or modify the value behind for Param1 as followed:

    Dim dashDic as dictionary = args.SelectionChangedTaskInfo.CustomSubstVarsWithUserSelectedValues

    'check to see if Param1 is in dashDic dictionary:

    If dashDic.ContainsKey("Param1") then

        'read the value:

       Dim x as string = dashDic("Param1")

       'write a value to Param1:

       dashDic("Param1") = "xxxxxxxx"

    End if

     

     

     

     

    • Cosimo's avatar
      Cosimo
      Contributor II

      Forgot to add that once you update the dictionary, you will need to return it back to the dashboard:

      Dim scstr As New XFSelectionChangedTaskResult()

      scstr.ChangeCustomSubstVarsInDashboard = True

      scstr.ModifiedCustomSubstVars = dashDic

      Return scstr

    • seangly's avatar
      seangly
      New Contributor III

      Hi Cosimo,

      How about read the input value paramater from a XFBR rule? I did try but I couldn't figure it out.

  • JackLacava's avatar
    JackLacava
    Honored Contributor

    I believe, from a rules perspective, there shouldn't be any difference between changing values in a Literal or Input Parameter...? If you're trying and it doesn't work, can you post the relevant code? Also, after changing the value, make sure you refresh any Dashboard that might be affected by it, or you won't see any difference.