我正在创建一个包含JSON数据和UI5的演示应用程序。这个想法(简而言之)是为所选项目提供各种信息视图。我正在使用IconTabBar
控件。我创建了一个示例场景,因此(希望)我可以更清楚地解释问题。
1. IconTabBar's
第一个标签包含员工列表,用户可以通过选择左侧的单选按钮选择一个
2.这会将用户带到显示say,sales view的下一个标签。用户可以单击任何选项卡并移动到相应的视图。
3.用户可以在任何视图中修改信息。如果用户忘记或忽略保存数据,则选项卡颜色设置为红色。
4.用户可以保存数据。
5.有些观点的主要细节格式有信息。
我面临的问题是: -
1.如何根据表格中选择的项目过滤模型数据?
2.如何更新过滤后的数据并重新设置回模型?
3.我也想知道数据是否结构正确
我在选择公司后使用以下代码更新绑定路径。 GREP函数未返回提案的正确值。它只返回1个E001提案,而它应该返回2.它对订单也没有正常工作。我不确定数据是否结构正确。
var oModel_Data = oJSONDataModel.getData();
var oView_Data = oViewDataModel.getData();
var aModelData = oModel_Data[sSelected_Key];
var aViewData = oView_Data[sSelected_Key];
aViewData = jQuery.grep(aModelData, function(data, index) {
return data.id === sSelected_id
})[0];
oView_Data[sSelected_Key]=aViewData;
oViewDataModel.setData(oView_Data);
oViewDataModel.refresh(true);
我正在使用以下代码来检查用户是否更改了数据。
var oView_Data = oViewDataModel.getData();
var oModel_Data = oJSONDataModel.getData();
var aViewData = oView_Data[in_sKey];
var aModelData = oModel_Data[in_sKey];
aModelData.forEach(function(item, index, array) {
var valueView = aViewData;
if (item.id === sSelected_id){
//The code here need to consider complex(nested) data types
//Thus it should check type of not only valueView and item
//but also their each and every child elements
/*---------Temporary Solution---------------------*/
var sViewValue = JSON.stringify(valueView);
var sItem = JSON.stringify(item);
var bSameData = sViewValue === sItem;
if (bSameData==true){
flag_data_changed=false;
}else{
return flag_data_changed=true;
}
}
});
我的json模型如下。
{
"employees": [
{"id":"E0001" ,
"name":"Alec Stewert"
},
{"id":"E0002" ,
"name":"Debra Manning"
}
],
"sales": [
{"id":"E0001" ,
"sale_q1":"10000",
"sale_q2":"3000",
"sale_q3":"8000",
"sale_q4":"2000"
},
{"id":"E0002" ,
"sale_q1":"8000",
"sale_q2":"3000",
"sale_q3":"7000",
"sale_q4":"5000"
}
],
"proposal":[
{"id":"E0001",
"fi_q":"Q2",
"value":"12000",
"customer":"6000"
},
{ "id":"E0001",
"fi_q":"Q2",
"value":"8000",
"customer":"2300"
}
],
"key_orders": [
{"id":"E0001",
"order_hdr":
[
{"id":"O0001",
"fi_q":"Q1",
"value":"2000",
"customer":"2000"
},
{"id":"O0002",
"fi_q":"Q1",
"value":"2000",
"customer":"2000"
}
],
"order_dtl":[
{
"id":"O0001",
"itm":"Item X",
"Qty":"100",
"rate":"20"
}
]
},
{"id":"E0002",
"order_hdr":
[
{"id":"O0011",
"fi_q":"Q1",
"value":"2000",
"customer":"5000"
},
{"id":"O0012",
"fi_q":"Q1",
"value":"1000",
"customer":"5000"
}
],
"order_dtl":[
{
"id":"O00011",
"itm":"Item Z",
"Qty":"200",
"rate":"10"
}
]
}
]
}
我已在线调查并在SAP帮助中进行了调查,但未能了解需要完成的工作。任何帮助表示赞赏。