Change options for row of Dynamic Array based on value in another column

I am using a Dynamic Array which has 4 columns, each row represents an element that needs to get a foundation. One of the columns determines if the foundation type of that element is a pile foundation or a shallow foundation. If the user selects the element to have a pile foundation I want the 3rd column in the DynamicArray to show a MultiSelectField with different pile types which the user can select. If the user selects the element to have a shallow foundation I want the 3rd column to ideally show nothing but an OptionField showing just ‘Not Available’ or something along those lines would be perfectly fine as well.

My question is if it is possible to change the contents of a column of a dynamic array based on the value in another column within the same row?

You should be able to set the visibility of a field within a row, based on a value in that row, using RowLookup or a callback function. This makes it possible to show a MultiSelectField in one row and hide in another, and the other way around for the OptionField.

See also User input, fields and buttons - Hide a field | VIKTOR Documentation