I have found that the View in Table action from the Map Layers widget behaves differently from viewing a layer with the drop-down menu in the Table.
For the Table widget, you can Configure Fields and "Select fields for initial display." When you view a table from the drop-down menu in the Table widget, you see only those selected fields:
However, if the user clicks the View in Table action from the Map Layers widget:
Then the Table will display all fields in the data, regardless of the table configuration:
Am I missing some setting or method for configuring this to match? I would like to prevent users from seeing many of the fields in this table that are extraneous to the purpose of the app.
Also interested in this question and potential solution. This applies to my Experience Builder site as well, where we want a pre-set amount of tables and field configurations set, but want the table option to be available for users.
@BMCGIS You were experiencing the expected behavior.
View in table is an action, at runtime, on-the-fly, and once you refresh the app it goes away.
However, selective field visibility has something to do with either the widget setting (as in the Table widget) or the data source level changes (e.g. Changes made while configuring the web map, or publishing the service layer).
The Table widget is designed to display and utilize data in a structured way, so it can allow the configuration without affecting other places - the widget controls to hide certain ones, but at the data source level, the fields are still there;
Map Layers widget, however, utilizes the web map, as I assume in your case. If you want to hide certain fields, currently the option is #2 mentioned above (data source level changes), but it will change all places using that web map. In other cases where no web map is introduced but rather a REST Service layer, it is even far-fetched to control layer availability.
In general, pre-set changes of data source fields and on-the-fly actions might not comply well with each other, and it is not something we support at this time.