<template>
<div>
<ejs-grid id="grid"
:dataSource="data"
:allowPaging="true"
:pageSettings='pageSettings'
:columns="columns"
:selectionSettings='selectionOptions'
@cellSelected="OnCellSelected">
</ejs-grid>
</div>
</template>
<script>
import Vue from "vue";
import { GridPlugin, Page } from "@syncfusion/ej2-vue-grids";
import { DataManager, UrlAdaptor, Query } from "@syncfusion/ej2-data";
Vue.use(GridPlugin);
import FormatedValidColumnTemp from '../shared/ColumnTemplateComponents/FormatedValidTemplate';
export default Vue.extend({
data() {
let SERVICE_URI = '/api/administration/institutionList';
return {
data: new DataManager({
url: SERVICE_URI,
crossDomain: true,
adaptor: new UrlAdaptor,
requestType: 'json',
}),
columns: [
{ type: "checkbox", width: 50 },
{ field: 'ID', headerText: 'ID', isPrimaryKey: true, textAlign: 'Left' },
{ template: this.formatedValidTemplate, headerText: 'Valid', textAlign: 'Left' },
],
pageSettings: { pageSize: 5 },
selectionOptions: { mode: 'Cell' }
};
},
methods: {
formatedValidTemplate: function () {
return { template: FormatedValidColumnTemp }
},
OnCellSelected: function (event) {
console.log(event);
// THIS IS WHERE I WANT TO ACCESS TO THE TEMPLATE CELL INDEX
}
},
provide: {
grid: [Page]
}
});
</script>
<style>
@import "../../node_modules/@syncfusion/ej2-vue-grids/styles/bootstrap.css";
</style>