I currently have a table where the column is labeled as {Orders}. In my metadata.xml file, I am retrieving the entity {status}.
<smartTable:SmartTable id="table" beforeRebindTable="handleBeforeRebindTable">
<Table>
<columns>
<Column>
<header>
<Text text="ManufacturingOrder" id="order"/>
</header>
</Column>
</columns>
<items>
<ColumnListItem >
<cells>
<ObjectIdentifier title="{Order}" />
</cells>
</ColumnListItem>
</items>
</Table>
</smartTable:SmartTable>
My goal is to only display orders with a status of 1. (Statuses may vary).
To achieve this, I have implemented the handleBeforeRebindTable function:
handleBeforeRebindTable: function(oEvent) {
var oTableItems = this.getView().byId("table").getItems();
var oItemData;
var sStatus = "status";
for (var i = 1; i < oTableItems.length; i++) {
oItemData = oTableItems[i].getBindingContext().getProperty();
if (this.sStatus === "1") {
oTableItems[i].setVisible(true);
} else {
oTableItems[i].setVisible(!oItemData.Active);
}
}
},
Despite my efforts, the code doesn't seem to work properly. Can anyone help me identify what I'm doing wrong or suggest an alternative approach?