App.vue
<template>
<div id="app">
<ejs-grid
ref="gridObj"
:dataSource="data"
:allowPaging="true"
:contextMenuItems="contextMenuItems"
:contextMenuClick="contextMenuClick"
>
<e-columns>
<e-column
field="OrderID"
headerText="ID"
width="80"
isPrimaryKey="true"
></e-column>
<e-column
field="CustomerID"
headerText="CustomerID"
width="90"
></e-column>
<e-column field="ShipCity" headerText="ShipCity" width="120"></e-column>
</e-columns>
</ejs-grid>
</div>
</template>
<script>
import Vue from "vue";
import axios from "axios";
import {
ContextMenu,
} from "@syncfusion/ej2-vue-grids";
import { gridData } from "./data";
import { ButtonPlugin } from "@syncfusion/ej2-vue-buttons";
Vue.use(ButtonPlugin);
Vue.use(GridPlugin);
export default {
data() {
return {
data: gridData,
contextMenuItems: [
{ text: "Color Green", target: ".e-content", id: "color" },
],
};
},
methods: {
contextMenuClick: function (args) {
if (args.item.id === "color") {
args.rowInfo.row.classList.add("customcss");
}
},
},
provide: {
grid: [ContextMenu, Freeze, Edit, Toolbar, Page, Filter, ColumnChooser],
},
};
</script>
<style>
@import "https://cdn.syncfusion.com/ej2/material.css";
</style>
<style>
.customcss {
background-color: green;
}
</style>
|