I’m experimenting with an Dynamic Array in which an user can select a certain material, colour and finish. The combination of these three inputs returns a set of variables required for further calculations.
To streamline this array I want to enable only the options that work for that given material. I want to do this based on information stored in a Pandas DataFrame. The reason for this workflow is rather simple as Material A has colour X, Y and Z, while Material B only has X, Y and another colour named D. I use the same logic for the finish column.
Now I’m using the following code, yet I cannot use the value under ‘Material’ for my pandas selection statement. Currently all possible options for colour and finish are shown, meaning for material A, B and C combined.
Your choice for using a DataFrame as a base for parameter fields and option lists in a DynamicArray raises the level of complexity very quickly.
As you found out, the option to use a RowLookup doesn’t work as this function is only meant to use for visibility or min/max purposes.
As an alternative to what you’re trying to do with the RowLookup I’d say try to use callback functions. But in this specific case, using a DynamicArray, that also does not yield a satisfactory result I’m afraid.
So I suspect it would be easier to have a look at some alternatives, begging the questions:
Why are you using a DataFrame? (Could you code in a static dict for example?)-
How much variability is there in the size of the DataFrame? (if it always contains the same number of materials etc. that would give us some other options)
Is the DynamicArray the best option here? (maybe a Table could also suffice?
TLDR: What you are asking is a dynamic optionlist in a DynamicArray which as of yet is not possible. I have added your use-case to our internal issue tracker where this feature request is already being tracked. If any developments follow from it I will update you on those here.
In the meantime I’m afraid you are going to have to look for different methods of providing your users with the possible options.
p.s. I will also edit this post to be a feature request for findability.
@Daniel Are there any updates on this? I have ran into a similar use case as follows.
I am trying to generate a DynamicArray with soil parameters for a D-Stability input file. In order to create this input I need to ask the user to give a soil_strength_model both above and below the ground_water_level. The soil_strength_model above the ground_water_level is either Mohr-Coulomb or SHANSEP. The soil_strength_model below the ground_water_level is always same_as_above in case the model above the ground_water_level is SHANSEP. In case the model above the ground_water_level is Mohr-Coulomb, the options for the model below the ground_water_level are same_as_above and SHANSEP.
Based on which model(s) is/are selected certain soil parameter input fields become visible or not which works perfectly but I cannot get the optionfield below the ground_water_level to show the possible options depending on the selected model above the ground_water_level.