Having trouble with a cascading dropdown. Basically, I have an editable grid tha

Certified Senior Developer
Having trouble with a cascading dropdown. Basically, I have an editable grid that has 3 dropdowns. The user selects a user from the first dropdown, assigns a role to the user with the second dropdown and assigns an area of expertise with the third dropdown. I got the rule to work with the first 2 dropdowns, but the choices presented with the third dropdown are dependent on the user selected in the first one. I have a query rule that brings back a list of expertises based on the userId. So I created a local!selectedUserId variable to use in my query rule that displays the dropdown list and added an a!save statement to update that local variable with the selected user id. But I get an error when I access this form because the query rule cannot find a userId. Here's the error I'm getting and I've attached my updated rule for the grid.
Expression evaluation error in rule 'ips_getexpertisebyuserid' (called by rules 'ips_assignuserrolesgr...

ips_assignUserRolesGrid_new.txt

OriginalPostID-170455

OriginalPostID-170455

  Discussion posts and replies are publicly visible

Parents
  • @judym As I said earlier, it's not a valid version because I am explicitly saving null value into expertiseId. Because I guess expertiseId is of type integer and local!expertise.data.expertise might evaluate to a string and trying to store string into integer will create a new error. So I have just changed the display and also saving null value into expertiseId explicitly. Please take a keen look below:
    a!dropdownField(
    label: "Area of Expertise",
    choiceLabels: local!expertise.data.expertise,
    choiceValues: local!expertise.data.expertise,
    placeholderLabel: "---Assign Area of Expertise---",
    \ t/*Null handling being done for value attribute*/
    value: if(rule!APN_isEmpty(ri!newTeamLink_cdt[ri!index]),null,if(rule!APN_isBlank(ri!newTeamLink_cdt[ri!index].expertiseId),null,ri!newTeamLink_cdt[ri!index].expertiseId)),
    saveInto: {
    \ ta!save(ri!newTeamLink_cdt[ri!index].expertiseId,null)
    \ t},
    required: true(),
    readOnly: false()
    )

    If you could let me know the data structure of expertise and the definition of rule!ips_getExpertiseByUserId() I could try to help you debug the issue.
Reply
  • @judym As I said earlier, it's not a valid version because I am explicitly saving null value into expertiseId. Because I guess expertiseId is of type integer and local!expertise.data.expertise might evaluate to a string and trying to store string into integer will create a new error. So I have just changed the display and also saving null value into expertiseId explicitly. Please take a keen look below:
    a!dropdownField(
    label: "Area of Expertise",
    choiceLabels: local!expertise.data.expertise,
    choiceValues: local!expertise.data.expertise,
    placeholderLabel: "---Assign Area of Expertise---",
    \ t/*Null handling being done for value attribute*/
    value: if(rule!APN_isEmpty(ri!newTeamLink_cdt[ri!index]),null,if(rule!APN_isBlank(ri!newTeamLink_cdt[ri!index].expertiseId),null,ri!newTeamLink_cdt[ri!index].expertiseId)),
    saveInto: {
    \ ta!save(ri!newTeamLink_cdt[ri!index].expertiseId,null)
    \ t},
    required: true(),
    readOnly: false()
    )

    If you could let me know the data structure of expertise and the definition of rule!ips_getExpertiseByUserId() I could try to help you debug the issue.
Children
No Data