<html>
<head>
<script src="https://cdnjs.cloudflare.com/ajax/libs/ag-grid/2.3.0/ag-grid.js"></script>
<script src="example-js.js"></script>
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css">
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script>
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script>
<link rel="stylesheet" type="text/css" href="https://cdnjs.cloudflare.com/ajax/libs/ag-grid/2.3.0/ag-grid.css">
</head>
<body>
<div class=ag-grid ag-grid=gridController.options></div>
<div id="myGrid" style="height: 115px;width:600px;" class="ag-fresh"></div>
</body>
</html>
// specify the columns
var columnDefs = [{
headerName: "Make",
field: "make"
}, {
headerName: "Model",
field: "model"
}, {
headerName: "Price",
field: "price"
},
{
field: "country",
headerName: "Country",
headerCellTemplate: function() {
var eCell = document.createElement('span');
eCell.field = obj.expr;
eCell.headerName = obj.colName;
eCell.innerHTML = "<select>" + "<option>" +
'United Kingdom' + "</option>" + "<option>" +
'United States' + "</option>" + "</select>"
var eselect = eCell.querySelector('select');
eselect.focus();
return eCell;
},
cellRenderer: function(params) { return params.value.join(", "); },
editable: true
}, {
headerName: "Actions",
width: 90,
cellRenderer: function () {
return `
<div class="btn-group" style="z-index: 10000">
<button type="button" class="btn btn-default dropdown-toggle" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
Actions <span class="caret"></span>
</button>
<ul class="dropdown-menu">
<li><a href='#'>Edit</a></li>
<li><a href='#'">Delete</a></li>
<li role="separator" class="divider"></li>
<li><a href='#'>Print</a></li>
</ul>
</div>
`
},
isPopup: function() { return true; },
suppressSorting: true
}];
// specify the data
var rowData = [{
make: "Toyota",
model: "Celica",
price: 35000,
country: ["United Kingdom"]
}, {
make: "Ford",
model: "Mondeo",
price: 32000,
country: ["United Kingdom", "United States"]
}, {
make: "Porsche",
model: "Boxter",
price: 72000,
country: ["United States"]
}];
// let the grid know which columns and what data to use
var gridOptions = {
columnDefs: columnDefs,
rowData: rowData,
onGridReady: function() {
gridOptions.api.sizeColumnsToFit();
}
};
// wait for the document to be loaded, otherwise
// ag-Grid will not find the div in the document.
document.addEventListener("DOMContentLoaded", function() {
// lookup the container we want the Grid to use
var eGridDiv = document.querySelector('#myGrid');
// create the grid passing in the div to use together with the columns & data we want to use
new ag.grid.Grid(eGridDiv, gridOptions);
});