如何在两个单独的表中填充嵌套的JSON数组项

2020-09-01 21:57发布

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


嗨团队

我有一个需求,那里有一个主表和子表。 主表有多个项目。 在主表中选择项目后,应在子表中填充与所选项目相关的相应数据。

来自后端的

数据采用json格式。

如下所示,这里的SALEORDER_DETAIL是JsonArray,具有SUB_TABLE_OBJECT作为JsonArray。

然后创建一个如下所示的模型

var l_MainTableModel = new sap.ui.model.json.JSONModel();

l_MainTableModel.setProperty("/img/ITEM",data.SALEORDER_DETAIL);

thisViewPointer.getView()。setModel(l_MainTableModel," CreateSaleOrderItemModel");

在视图中,主表被绑定为行=" {CreateSaleOrderItemModel>/ITEM}"

子表绑定为行=" {CreateSaleOrderItemModel>/ITEM/SUB_TABLE_OBJECT}"

用数据填充主表。 子表未填充的地方,而是空白。

要求是当用户选择第一个项目时,应在SubTable中填充第一个项目SUB_TABLE_OBJECT

在"选择第二项表"上,"子表"应填充第二项SUB_TABLE_OBJECT

请帮助并充分满足需求。

 JSON数据来自后端
 {
 " SALEORDER_DETAIL":
 [
 {
 " NET_VALUE":" 3470200.0",
 " ITEM_NO":" 000010",
 " CREATION_TIME":" 16:31:33",
 " FREIGHT_CHRGS":" 1000.0",
 " PART_NO":" ***********",
 "用户身份":"***********",
 " OTHER_TAX":" 0.0",
 " PART_DESC":" 123456",
 " CREDIT_DAYS":" 5",
 " KFC_AMOUNT":" 0.0",
 " SUB_TABLE_OBJECT":
 {
 " 000010_PART_NO":
 [
 {
 " STORAGE_NO":" TEST",
 " ITEM_NO":" 000010",
 " PART_NO":" *************",
 " STORAGE_QTY":1
 }
 ]
 }
 ]
 },
 {
 " NET_VALUE":" 3470200.0",
 " ITEM_NO":" 000020",
 " CREATION_TIME":" 16:31:33",
 " FREIGHT_CHRGS":" 1000.0",
 " PART_NO":" ***********",
 "用户身份":"***********",
 " OTHER_TAX":" 0.0",
 " PART_DESC":" 654321",
 " CREDIT_DAYS":" 5",
 " KFC_AMOUNT":" 0.0",
 " SUB_TABLE_OBJECT":
 {
 " 000020_PART_NO":
 [
 {
 " STORAGE_NO":" TEST123",
 " ITEM_NO":" 000020",
 " PART_NO":" *************",
 " STORAGE_QTY":1
 }
 ]
 }
 ]
 }
 ]
 }"

 

致谢

Govardan Raj

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


嗨团队

我有一个需求,那里有一个主表和子表。 主表有多个项目。 在主表中选择项目后,应在子表中填充与所选项目相关的相应数据。

来自后端的

数据采用json格式。

如下所示,这里的SALEORDER_DETAIL是JsonArray,具有SUB_TABLE_OBJECT作为JsonArray。

然后创建一个如下所示的模型

var l_MainTableModel = new sap.ui.model.json.JSONModel();

l_MainTableModel.setProperty("/img/ITEM",data.SALEORDER_DETAIL);

thisViewPointer.getView()。setModel(l_MainTableModel," CreateSaleOrderItemModel");

在视图中,主表被绑定为行=" {CreateSaleOrderItemModel>/ITEM}"

子表绑定为行=" {CreateSaleOrderItemModel>/ITEM/SUB_TABLE_OBJECT}"

用数据填充主表。 子表未填充的地方,而是空白。

要求是当用户选择第一个项目时,应在SubTable中填充第一个项目SUB_TABLE_OBJECT

在"选择第二项表"上,"子表"应填充第二项SUB_TABLE_OBJECT

请帮助并充分满足需求。

 JSON数据来自后端
 {
 " SALEORDER_DETAIL":
 [
 {
 " NET_VALUE":" 3470200.0",
 " ITEM_NO":" 000010",
 " CREATION_TIME":" 16:31:33",
 " FREIGHT_CHRGS":" 1000.0",
 " PART_NO":" ***********",
 "用户身份":"***********",
 " OTHER_TAX":" 0.0",
 " PART_DESC":" 123456",
 " CREDIT_DAYS":" 5",
 " KFC_AMOUNT":" 0.0",
 " SUB_TABLE_OBJECT":
 {
 " 000010_PART_NO":
 [
 {
 " STORAGE_NO":" TEST",
 " ITEM_NO":" 000010",
 " PART_NO":" *************",
 " STORAGE_QTY":1
 }
 ]
 }
 ]
 },
 {
 " NET_VALUE":" 3470200.0",
 " ITEM_NO":" 000020",
 " CREATION_TIME":" 16:31:33",
 " FREIGHT_CHRGS":" 1000.0",
 " PART_NO":" ***********",
 "用户身份":"***********",
 " OTHER_TAX":" 0.0",
 " PART_DESC":" 654321",
 " CREDIT_DAYS":" 5",
 " KFC_AMOUNT":" 0.0",
 " SUB_TABLE_OBJECT":
 {
 " 000020_PART_NO":
 [
 {
 " STORAGE_NO":" TEST123",
 " ITEM_NO":" 000020",
 " PART_NO":" *************",
 " STORAGE_QTY":1
 }
 ]
 }
 ]
 }
 ]
 }"

 

致谢

Govardan Raj

付费偷看设置
发送
1条回答
亦是此间程序员
1楼-- · 2020-09-01 22:55

您好govardhan

您可以尝试使用过滤器,其中让第二个表具有第二个表的所有数据,并且在用户单击第一个表项之后,使用" oEvent"可以获取该值,并使用该值来过滤第二个表中的数据。 第二张桌子。

 var that = this;
 var oView = that.getView();

 var oTable = oView.byId(" tab2"),
 oBinding = oTable.getBinding(" items"),
 aFilters = [];
 var oFilter = new Filter(" SUB_TABLE_OBJECT"," EQ", _PART_NO," X");
 aFilters.push(oFilter);
//应用过滤器设置
 oBinding.filter(aFilters);
 

致谢

Siddharth Shaligram

一周热门 更多>