笔者这篇教程介绍了如何在 SAP Fiori Elements 应用的 manifest.json 里注册 Extension fragment,从而给 List Report 应用的 Table 区域新增
自定义列:
请大家注意下图高亮的扩展:
ResponsiveTableColumnsExtension|SEPMRA_C_PD_Product
运行时,这个扩展的定义,在
Component._getManifestEntry 方法里被解析出来:
在 SAP Fiori Elements 中,
manifest.json 文件是用来定义应用的配置和元数据的。
extends 区域是用来维护 SAP Fiori Elements 应用的扩展的。其中,
ResponsiveTableColumnsExtension 是一个特定的扩展,主要用于扩展响应式表格的列。
在响应式表格中,你可以使用
ResponsiveTableColumnsExtension 来添加、删除或修改列。这个功能提供了对表格列在运行时的调整,使得你可以在应用运行时动态改变列的属性,如列的可见性、列的排序、列的过滤等。
假设你有一个销售订单的 Fiori Elements 应用,展示订单列表的响应式表格中有许多列,如订单号、客户名称、订单日期等。你想在运行时改变订单日期列的可见性,可以通过
ResponsiveTableColumnsExtension 来实现。
以下是一个简单的示例,展示了如何在
manifest.json 文件中使用
ResponsiveTableColumnsExtension 扩展:
上面的示例代码会在销售订单列表加载数据后,隐藏订单日期列。首先,我们在
sap.ui.controllerExtensions 下定义了一个新的控制器
my.custom.Controller。然后,在控制器的
onInit 方法中,我们使用
extensionAPI.attachPageDataLoaded 方法来监听页面数据加载事件。当数据加载完毕后,我们通过
extensionAPI.getColumnExtension 方法获取到所有的列扩展,然后遍历每一个列扩展,找到 id 为
SalesOrderDate 的列扩展,通过调用其
setColumnVisible 方法将其设为不可见。
需要注意的是,虽然
ResponsiveTableColumnsExtension 提供了强大的列扩展功能,但是过度使用可能会增加应用的复杂性和维护成本。因此,在使用时需要谨慎考虑是否真的需要对列进行动态调整。
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/24475491/viewspace-2969977/ ,如需转载,请注明出处,否则将追究法律责任。