|
App.vue
<template>
<div style="height: 80vh">
<ejs-grid
:dataSource="data"
:toolbar="toolbar"
:editSettings="editing"
:pageSettings="pageSettings"
:selectionSettings="selectOptions"
>
<e-columns>
<e-column
field="OrderID"
headerText="Order ID"
textAlign="Right"
clipMode="EllipsisWithTooltip"
></e-column>
<e-column
field="CustomerID"
headerText="Customer Name"
clipMode="EllipsisWithTooltip"
></e-column>
<e-column
field="OrderDate"
headerText="Order Date"
format="yMd"
textAlign="Right"
clipMode="EllipsisWithTooltip"
></e-column>
<e-column
field="Freight"
headerText="Freight"
format="C2"
textAlign="Right"
clipMode="EllipsisWithTooltip"
></e-column>
<e-column
field="ShipName"
headerText="Ship Name"
clipMode="EllipsisWithTooltip"
></e-column>
<e-column
field="ShipCountry"
headerText="Ship Country"
editType='dropdownedit' :edit='countryParams'
clipMode="EllipsisWithTooltip"
></e-column>
</e-columns>
</ejs-grid>
</div>
</div>
</div>
</template>
<script>
import Vue from "vue";
import {
GridPlugin,
Edit,
Page,
Toolbar,
ContextMenu,
} from "@syncfusion/ej2-vue-grids";
import { gridData } from "./data";
import { Query } from "@syncfusion/ej2-data";
let country = [
{ countryName: "United States", countryId: "1" },
{ countryName: "Australia", countryId: "2" },
{ countryName: "India", countryId: "3" },
];
Vue.use(GridPlugin);
export default Vue.extend({
data: () => {
return {
data: gridData,
pageSettings: { pageSize: 5 },
toolbar: ["Add", "Edit", "Delete", "Update", "Cancel"],
editing: {
allowAdding: true,
allowDeleting: true,
allowEditing: true,
showDeleteConfirmDialog: true,
},
selectOptions: { type: "Multiple" },
countryParams: {
params: {
allowFiltering: true,
dataSource: country,
fields: { text: "countryName", value: "countryName" },
query: new Query(),
actionComplete: () => false,
},
},
};
},
provide: {
grid: [Edit, Page, Toolbar, ContextMenu],
},
});
window.addEventListener("resize", function () {
debugger;
if (document.getElementsByClassName("e-grid")[0]) {
let gridObj = document.getElementsByClassName("e-grid")[0].ej2_instances[0];
gridObj.refresh();
}
});
</script>
<style>
@import "https://cdn.syncfusion.com/ej2/material.css";
/* .e-pager .e-icon-last::before {
content: "\E897";
} */
</style> |