我正在用JSON數據和UI5創建演示應用程序。這個想法(簡而言之)是爲選定的項目提供各種信息視圖。我正在使用IconTabBar
控件。我創建了一個示例場景(希望),我可以更清楚地解釋問題。分層JSON模型和UI5
1. IconTabBar's
第一片具有員工和用戶的列表可以通過選擇左側
2,本單選按鈕選擇一個將用戶帶到下一個選項卡,其中顯示說,銷售視圖。用戶可以點擊任何標籤並移至相應的視圖。
3.用戶可以在任意視圖下修改信息。如果用戶忘記或忽略保存數據,則選項卡顏色設置爲紅色。
4.用戶可以保存數據。
5.某些視圖具有主細節格式的信息。
我現在面臨的問題(S)是: -
1.How過濾基於表選擇的項目模型數據?
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幫助中,但未能理解需要做什麼。任何幫助表示讚賞。