<!DOCTYPE HTML>
<html>
<head>
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
<meta charset="UTF-8">
<title>List Sorting</title>
<script id="sap-ui-bootstrap" type="text/javascript" src="https://sapui5.hana.ondemand.com/resources/sap-ui-core.js" data-sap-ui-theme="sap_bluecrystal" data-sap-ui-libs="sap.m" data-sap-ui-xx-bindingSyntax="complex">
</script>
<!-- XML-based view definition -->
<script id="listView" type="sapui5/xmlview">
<mvc:View controllerName="myView.list" xmlns:l="sap.ui.layout" xmlns:core="sap.ui.core" xmlns:mvc="sap.ui.core.mvc" xmlns="sap.m" class="viewPadding">
<App>
<pages>
<Page title="Employees Page" class="marginBoxContent">
<content>
<VBox id="oVBox">
<List id="idList" items="{/}">
<items>
<CustomListItem>
<VBox>
<Label text="{LastName}" />
<Input value="{EmployeeID}" enabled="false" />
</VBox>
</CustomListItem>
</items>
</List>
<HBox>
<RadioButton id="RB3-1" text="Sort by EmployeeID" select="onIDSort" />
<RadioButton id="RB3-2" text="Sort by Name" select="onNameSort" />
</HBox>
</VBox>
</content>
</Page>
</pages>
</App>
</mvc:View>
</script>
<script>
// Controller definition
sap.ui.define([
'jquery.sap.global',
'sap/ui/core/mvc/Controller',
'sap/ui/model/json/JSONModel'
], function(jQuery, Controller, JSONModel) {
"use strict";
var ListController = Controller.extend("myView.list", {
onInit: function(evt) {
var empData = [{
"EmployeeID": 219427,
"LastName": "Aaron"
}, {
"EmployeeID": 324971,
"LastName": "Benjamin"
}, {
"EmployeeID": 462523,
"LastName": "Bryant"
}, {
"EmployeeID": 212344,
"LastName": "Craig"
}, {
"EmployeeID": 767657,
"LastName": "Crispin"
}, {
"EmployeeID": 431232,
"LastName": "Mark"
}, {
"EmployeeID": 656523,
"LastName": "Boris"
}];
var model = new JSONModel();
model.setData(empData);
sap.ui.getCore().setModel(model);
},
onIDSort: function(oEvent) {
var oSorter = new sap.ui.model.Sorter("EmployeeID");
var oList = this.getView().byId("idList");
var oBinding = oList.getBinding("items");
oBinding.sort(oSorter);
},
onNameSort: function(oEvent) {
var oSorter = new sap.ui.model.Sorter("LastName");
var oList = this.getView().byId("idList");
var oBinding = oList.getBinding("items");
oBinding.sort(oSorter);
}
});
return ListController;
});
// Instantiate the View, assign a model
// and display
var oView = sap.ui.xmlview({
viewContent: jQuery('#listView').html()
});
oView.placeAt('content');
</script>
</head>
<body class="sapUiBody" role="application">
<div id="content"></div>
</body>
</html>
// Code goes here
/* Styles go here */