Adjust viewability of content based on the value of a field for a specific user
You can just create non-admin view which display all given content types, then users can see specific content types based on their role permissions. This can be achieved by adding Nodeaccess.

For example:


user1 has role ct1
user2 has role ct2
assign view permission Nodeaccess:


ct1 role can view ct1 type, but not ct2
ct2 role can view ct2 type, but not ct1
to extend the access using field references, try: Node access node reference,

create a view which lists ct1 &amp; ct2 and users will see the right content based on their roles.


You other few options to investigate:


in your non-admin view configure relationships, so field can point to the right content type (also check: Bundle Name Reference + EVA)
in your users's View, create sub-views where you can override the fields (if your Style is set to Fields),
create multiple views for each content type and implement Viewfield, so admin can assign the view based on the its value,
create a non-admin view with rendered entity Style, create a template, write a logic in preprocess function and assign to the template variable.