var recnfController = function ($scope, IRSService, bookingDataSource) {
$scope.bookingType = {
transport: {
read: {
url: 'Booking/BookingTypeList',
contentType: "application/json",
type: "GET"
}
}
};
$scope.bookingStatus = {
transport: {
read: {
url: 'Booking/BookingStatusList',
contentType: "application/json",
type: "GET"
}
}
};
$scope.change = function (e) {
var dataItem = e.sender._selectedValue;
var selectedText = e.sender.text();
var value = e.sender.value();
alert(e.sender.text());
$scope.mainGridOptions = bookingDataSource;
console.log(e);
}
$scope.mainGridOptions = bookingDataSource;
}
app.controller('recnfController', ['$scope', 'IRSService','bookingDataSource', recnfController]);
<div ng-controller="recnfController">
<div kendo-grid k-options="mainGridOptions"></div>
<input type="text" ng-model="showName" />
<script type="text/x-kendo-template" id="template">
<div class="toolbar" ng-controller="recnfController">
<div class="row">
<div class="col-sm-6">
<label class="category-label" for="category">Booking Type:</label>
<select kendo-drop-down-list
k-placeholder="'Select Booking Type'"
k-data-text-field="'Text'"
k-data-value-field="'Value'" k-on-change="change(kendoEvent)"
k-data-source="bookingType"></select>
</div>
<div class="col-sm-6">
<label class="category-label" for="category">Booking Status:</label>
<select kendo-drop-down-list
k-placeholder="'Select Booking Status'"
k-data-text-field="'Text'"
k-data-value-field="'Value'"
k-data-source="bookingStatus"></select>
</div>
</div>
</div>
</script>
</div>
IRSapp.factory('bookingDataSource',['IRSService',
function (IRSService) {
var ServiceBaseUrl = "/Booking/ReconfirmList";
var bookingList = {
height: 400,
columns: [
{ field: "BookingRefNo", title: "Booking RefNo", width: "120px" },
{ field: "CityName", title: "City Name", width: "120px" },
{ field: "BookingDateFrom", title: "BookingDate From", width: "120px" },
{ field: "FirstName", width: "120px" },
{ field: "CustomerEmail", width: "120px" },
{ field: "BookingType", width: "120px" }
],
editable: false, // enable editing
pageable: {
numeric: true,
refresh: true,
pageSizes: [10, 25, 50, 100],
buttonCount: 5
},
sortable: true,
filterable: true,
selectable: true,
toolbar: kendo.template($("#template").html()),
dataSource: {
serverPaging: true,
serverFiltering: true,
serverSorting: true,
pageSize: 10,
schema: {
data: "Data",
total: "Total"
},
type: "aspnetmvc-ajax",
transport: {
read: {
url: ServiceBaseUrl, //specify the URL which should return the records.
contentType: "application/json",
type: "GET"
data: {
AdditionalParam: JSON.stringify(IRSService)
}
}
}
}
};
return bookingList;
}]);