У меня есть три фрагмента для разных статусов в моем представлении XML. Когда я нажимаю на определенную плитку, он должен перейти к другому XML, где данные таблицы отображаются на основе этого состояния. Я могу перейти к другому представлению на клике. Но моя таблица отображает все данные вместо отображения данных для этого конкретного состояния. Я хочу, чтобы отобразить данные о состоянии открыть только тогда, когда соответствующая плитка нажата:Отображение данных таблицы OData на основе фрагментации щелчка в sapui5
отобразить только подсчет статуса плитки с использованием oModel.read()
. Количество на плитки отображается с помощью кода
oModel.read("/ServiceRequestCollection?$filter= CustomerID eq '1001192'", {
success: function(oData, response) {
var fld = [];
fld = oData.results;
var x = [];
var count1 = 0;
var count2 = 0;
var count3 = 0;
for (var i = 0; i < oData.results.length; i++) {
var p1 = "1001190";
var obj = fld[i];
if(x[obj.ProductID] === p1) {
x[obj.ServiceRequestLifeCycleStatusCodeText] = [obj.ServiceRequestLifeCycleStatusCodeText];
x[obj.ServiceRequestLifeCycleStatusCodeText].push(obj);
// console.log(x);
}
if (fld[i].ServiceRequestLifeCycleStatusCodeText === "Open") {
var OpenArray = [];
count1 = count1 + 1;
OpenArray.push(count1);
OpenArray = {tilearray:OpenArray};
var oVizFrame3Model = new sap.ui.model.json.JSONModel(OpenArray);
var oTile = oView.byId("opentile");
oTile.setModel(oVizFrame3Model);
oTile.setNumber(count1);
// return OpenArray;
} else {
if (fld[i].ServiceRequestLifeCycleStatusCodeText === "In Process") {
var InProcessArray = [];
count2 = count2 + 1;
InProcessArray.push(count2);
InProcessArray = {tilearray:InProcessArray};
oVizFrame3Model = new sap.ui.model.json.JSONModel(InProcessArray);
oTile = oView.byId("inprocesstile");
oTile.setModel(oVizFrame3Model);
oTile.setNumber(count2);
// return TileData;
}
}
if (fld[i].ServiceRequestLifeCycleStatusCodeText === "Completed") {
var CompletedArray = [];
count3 = count3 + 1;
CompletedArray.push(count3);
CompletedArray = {tilearray:CompletedArray};
oVizFrame3Model = new sap.ui.model.json.JSONModel(CompletedArray);
oTile = oView.byId("completedtile");
oTile.setModel(oVizFrame3Model);
oTile.setNumber(count3);
// return TileData;
}
}
}
});
Данные таблицы загружается из другого массива в этой точке зрения. Просьба представить предложения о том, как это сделать.
Благодарим за предложение Ajay. Я попробовал что-то похожее на ваше предложение и получил три отдельных массива для каждого состояния. Я также могу получить событие, на которое нажата плитка. То, что я не могу сделать, это связать определенный массив с таблицей при щелчке соответствующей плитки. –
Скажите, когда щелкнула открытая плитка. Я могу связать только один из 3 массивов. Пожалуйста, предоставьте свои предложения, я иду по правильному пути или мне нужно изменить свой код. –
Было бы очень полезно, если бы эксперты предоставили предложения для этого же. –