on 11-14-2016 12:43 PM
Hello!
Could you help me and maybe tell how filters with OData working? Unfortunately, table filters don't work...Should I this problem in ABAP Backend decide? Or maybe do you see some code mistake? In Metadata file it's no any significance that my data are not filterable...
Group by is working
But ascending und descending dont't work....
In softwaretools there are informatoin that this request works...
Code example...
return Controller.extend("Statusverwaltung3.controller.Table", {
_oDialog: null,
onInit: function() {
var itemData = new Array();
itemData.push({
Key: "01",
Text: "KS"
});
itemData.push({
Key: "02",
Text: "OR"
});
itemData.push({
Key: "03",
Text: "PC"
});
itemData.push({
Key: "04",
Text: "PR"
});
var oData = {
Status: [{
name: 'Offen',
measure: '0',
id: 1
}, {
name: 'In Bearbeitung',
measure: '19',
id: 2
}, {
name: 'Geplant',
measure: '13',
id: 3
}, {
name: 'Abgeschlossen',
measure: '0',
id: 4
}, {
name: 'Geprüft',
measure: '0',
id: 5
}, {
name: 'Freigegeben',
measure: '0',
id: 6
}]
};
var model1 = new sap.ui.model.json.JSONModel();
model1.setData(oData);
var comboSelMdl = new sap.ui.model.json.JSONModel({
SelKey: "01",
Items: itemData
});
this.getView().setModel(comboSelMdl, "comboSelMdl");
this.mGroupFunctions = {
Obart: function(oContext) {
var obart = oContext.getProperty("Obart");
return {
key: obart,
text: obart
};
},
Pjahr: function(oContext) {
var pjahr = oContext.getProperty("Pjahr");
return {
key: pjahr,
text: pjahr
};
},
Kokrs: function(oContext) {
var Kokrs = oContext.getProperty("Kokrs");
if (Kokrs <= 1000) {
var key = "LE100";
var text = "1000 " + " or less";
} else if (Kokrs <= 1000) {
key = "BT100-1000";
text = "Between 100 and 1000 ";
} else {
key = "GT1000";
text = "More than 1000 ";
}
return {
key: Kokrs,
text: Kokrs
};
}
};
},
},
handleViewSettingsDialogButtonPressed: function(oEvent) {
if (!this._oDialog) {
this._oDialog = sap.ui.xmlfragment("Statusverwaltung3.view.Dialog", this);
}
// toggle compact style
jQuery.sap.syncStyleClass("sapUiSizeCompact", this.getView(), this._oDialog);
this._oDialog.open();
},
handleConfirm: function(oEvent) {
var oView = this.getView();
var oTable = oView.byId("idStats");
var mParams = oEvent.getParameters();
var oBinding = oTable.getBinding("items");
// apply sorter to binding
// (grouping comes before sorting)
var aSorters = [];
if (mParams.groupItem) {
var sPath = mParams.groupItem.getKey();
var bDescending = mParams.groupDescending;
var vGroup = this.mGroupFunctions[sPath];
aSorters.push(new sap.ui.model.Sorter(sPath, bDescending, vGroup));
}
var sPath = mParams.sortItem.getKey();
var bDescending = mParams.sortDescending;
aSorters.push(new sap.ui.model.Sorter(sPath, bDescending));
oBinding.sort(aSorters);
}
/**
* Called when a controller is instantiated and its
onChange: function(oEvent) {
// getting the value of Combobox
var oTable = this.getView().byId("idStats");
oTable.setShowOverlay(true);
},
onSearch: function(oEvent) {
var oTable = this.getView().byId("idStats");
var comboBoxValue = this.byId("oComboBox").getValue(),
oBinding = oTable.getBinding("items"),
oFilter;
if (comboBoxValue || comboBoxValue === "") {
oTable.setShowOverlay(false);
oFilter = new sap.ui.model.Filter("Obart", "EQ", comboBoxValue);
oBinding.filter([oFilter]);
// getting the value of Combobox
}
oTable.setShowOverlay(true);
},
onReset: function(oEvent) {
// resetting the value of Combobox and initial state of the table
var oTable = this.getView().byId("idStats");
var oBinding = oTable.getBinding("items");
oBinding.filter([]);
oTable.setShowOverlay(false);
this.byId("oComboBox").setSelectedItem(null);
},
So, there are some mistakes or I should make filteres firstly in SAP system?....I have no idea...Combobox doesn't work too...
Thank you in advance !
Regards,
Khristina
Hi Khristina,
filters are done in the backend. If you are using Gateway, please follow the link below for more informations.
Do you have implemented the backend side for filters?
Regards
Simon
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
User | Count |
---|---|
86 | |
10 | |
10 | |
9 | |
7 | |
7 | |
6 | |
5 | |
4 | |
4 |
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.