liferay-ui:search-container 中的动态列?

Dynamic columns in liferay-ui:search-container?

我已尝试 liferay-ui:search-container 以 table/grid 格式获取并显示 UI 上的数据库 table 记录。通过使用 liferay-ui:search-container 我得到如下所示的输出,

我正在获取上面屏幕截图中的 USER_ table 记录。

问题:

我想让网格列动态化,我想为最终用户启用一个选项,以删除不需要的列并在相应的 grid/table 中添加需要的列。

EX:

在上面的屏幕截图中,以下列在网格中显示。

First Name, Last Name, Screen Name, Job Title, Organization, User Groups

现在如果用户想删除 Job Title 并想在 UI 上添加 Greetings and Mail Address 列,点击事件无需触摸/修改代码。

如何实现此功能?

注:

我需要为自定义模型实现此功能。

查询:

1)有没有api/methods到implement/enable这个功能?

2) 如果不能,我该如何执行这些步骤?完成此任务有什么建议或步骤吗?

这可以通过向您的 portlet 添加配置页面来实现。

您可以开发 portlet 配置页面,其中可以配置所需的选项并保存为 portlet 首选项。

稍后在显示搜索容器时,您可以检索 portlet 首选项并仅显示在配置表单中选择的那些列。

这里 link 关于如何使用 portlet 首选项开发 portlet 配置:Implementing Configurable Portlet Preferences