I have tried the liferay-ui:search-container
to fetch and display the database table records on UI in a table/grid format. By using the liferay-ui:search-cont
This can be achieved by adding a configuration page to your portlet.
You can develop portlet configuration page which can have required options to be configured and save as portlet preferences.
Later on while displaying the search container you can retrieve the portlet preferences and display only those columns which were selected in the configuration form.
Here is a link on how to develop the portlet configuration using portlet preferences: Implementing Configurable Portlet Preferences