点击此处---> 群内免费提供SAP练习系统(在群公告中)
加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)
大家好,
我正在开发自定义sapui5应用程序。 我需要根据组合框中的选择将两个不同的实体集与ui表绑定。 例如,如果我从组合框中选择Order/Notification,则需要分别将OrderSet/NotificationSet与表绑定。 这两个OrderSet和NotificationSet需要过滤器来限制数据。
我已使用以下代码对其进行绑定。 但会引发重复的ID错误。 但是我的代码中没有重复的ID。
var fltr_NotificationType = new sap.ui.model.Filter(" Qmart",sap.ui.model.FilterOperator.EQ," M1"); var fltr_TechnicalPlatz = new sap.ui.model.Filter(" TPLNR",sap.ui.model.FilterOperator.EQ," RR-R77-4-M/R"); var fltr_StartDate1 = new sap.ui.model.Filter(" FromDate",sap.ui.model.FilterOperator.EQ,"(Datetime'2012-10-25T00:00:00')");; var fltr_EndDate1 =新sap.ui.model.Filter(" ToDate",sap.ui.model.FilterOperator.EQ,"(Datetime'2018-10-25T00:00:00')"); oTable.setHeaderText(" Notofication List"); var notificationTableColumn1 = new sap.m.Column(" id_table_notification_column_1",{ 标头:new sap.m.Label({ 文字:" Qmnum" }) }); oTable.addColumn(notificationTableColumn1); var notificationTableColumn2 = new sap.m.Column(" id_table_notification_column_2",{ 标头:new sap.m.Label({ 文字:" Qmart" }) }); oTable.addColumn(notificationTableColumn2); var notificationColumnList = new sap.m.ColumnListItem(" id_columnlist_notification",{ 类型:"有效" }); var tableNotificationCell1 = new sap.m.Text(" id_table_notification_cell1",{ 文字:" {Qmnum}" }); notificationColumnList.addCell(tableNotificationCell1); var tableNotificationCell2 = new sap.m.Text(" id_table_notification_cell2",{ 文字:" {Qmart}" }); notificationColumnList.addCell(tableNotificationCell2); oTable.bindAggregation(" items",{ 路径:"/img/NotificationsSet", 模板:notificationColumnList, 过滤器:[fltr_NotificationType,fltr_TechnicalPlatz,fltr_StartDate1,fltr_EndDate1] }); }
在检查的同时,
我遇到此错误。
添加重复ID为'id_table_notification_column_1'的元素
请帮助我解决他的问题。
谢谢
此致
JK。
我希望您不要重复调用该代码,这显然会导致重复错误。 如果根本要多次调用代码,则将表引用持久化为this.oTable = table(已定义),并持久化模板。 然后,下次调用它时,请删除聚合,然后将其与持久化的模板和新过滤器一起添加。如果此答案不能澄清您的问题,请提供适合您情况的步骤。
是的 这是一种方法,您可以删除ID并执行此操作,但是每次更改类型时,它都会创建一个新表。 最好的方法是坚持下去。
您可以通过两种方式进行操作。
1。 如果您的实体具有相似的字段,请将其设为单个条目,然后根据选择一次又一次地将过滤器传递到同一张表,从而仅显示一个表而不是两个表。
2。 如果需要两个实体,则分别创建两个表并将其持久化,并根据选择动态地将它们从页面内容中删除(状态1,将显示表1,状态2,将显示表2)。
为此,最好创建2个片段,这些片段将具有2个具有各自实体集的不同表,稍后根据选择的类型将这些片段置为无效。 记住不要多次创建片段,将它们保留在控制器中。
一周热门 更多>