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

14

我尝试使用 liferay-ui:search-container 从数据库表中获取记录,并以表/网格格式在UI上显示它们。通过使用 liferay-ui:search-container,我可以获得如下所示的输出:

enter image description here

如上截图所示,我正在获取 USER_ 表的记录。

问题:

我想使网格列具有动态性,即我想为最终用户启用一个选项,以删除不需要的列并将所需的列添加到相应的网格/表中。

例如:

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

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

现在,如果用户想要在 UI 上添加 Greetings and Mail Address 列并带有点击事件,而不需要修改代码,同时删除 Job Title,该如何实现这个功能?

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

查询:

1)是否有任何 API/方法来实现/启用此功能?

2)如果没有,如何执行这些步骤? 有什么建议或步骤可以完成此任务吗?

1个回答

12

您可以通过为门户添加配置页来实现此功能。

您可以开发一个门户配置页面,其中包含要配置的必需选项,并将其保存为门户首选项。

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

这是有关如何使用门户首选项开发门户配置的链接:实施可配置的门户首选项


如何将列名列表转换为列表?有没有一种方法可以获取任何表的列名? - Prasad
请检查您的{Entity}ModelImpl.java文件,查看public static final Object [] [] TABLE_COLUMNS = {...}; 这将为您提供列和类型列表。还可以尝试使用ModelHintsUtil.getFieldEl(),我从未尝试过这个方法。 - Dipti Ranparia
假设我需要获取USER_表的所有列,那么如何提取USER_表的所有列呢? - Prasad
会尝试您的建议。 - Prasad
我尝试了您的建议,但遇到了一个问题,已在以下链接中报告为另一个问题:http://stackoverflow.com/questions/31408211/issue-while-saving-the-dynamic-field-values-in-the-preferences 请给我一些建议/解决方案。 - Prasad

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接