JQuery Grid
Invoke the addrow method of the jqxGrid.
Author: http://jqwidgets.com
HTML
<script src="https://jqwidgets.com/public/jqwidgets/jqx-all.js"></script>
<link rel="stylesheet" href="https://jqwidgets.com/public/jqwidgets/styles/jqx.base.css">
<link rel="stylesheet" href="https://jqwidgets.com/public/jqwidgets/styles/jqx.energyblue.css">
<script src="https://jqwidgets.com/jquery-widgets-demo/demos/jqxgrid/generatedata.js"></script>
<div id='jqxWidget'>
<div id="jqxgrid"></div>
</div>
<div style="margin-top: 10px;">
<input id="addrowbutton" type="button" value="Add Row" />
<div id='result'>
</div>
</div>
JavaScript
var data = generatedata(5);
var source = {
localdata: data,
datafields: [{
name: 'firstname',
type: 'string'
}, {
name: 'lastname',
type: 'string'
}, {
name: 'productname',
type: 'string'
}, {
name: 'date',
type: 'date'
}, {
name: 'quantity',
type: 'number'
}, {
name: 'price',
type: 'number'
}],
datatype: "array"
};
var adapter = new $.jqx.dataAdapter(source);
$("#jqxgrid").jqxGrid({
width: 500,
height: 200,
theme: 'energyblue',
editmode: 'selectedrow',
editable: true,
source: adapter,
sortable: true,
columns: [{
text: 'First Name',
datafield: 'firstname',
columngroup: 'Name',
width: 90
}, {
text: 'Last Name',
columngroup: 'Name',
datafield: 'lastname',
width: 90
}, {
text: 'Product',
datafield: 'productname',
width: 170,
columntype: 'dropdownlist',
createeditor: function (row, cellvalue, editor, celltext, cellwidth, cellheight) {
var dataSource = ['Cappuccino', 'Caramel Latte', 'Caffe Espresso'];
editor.jqxDropDownList({source: dataSource });
}
}, {
text: 'Order Date',
datafield: 'date',
width: 160,
cellsformat: 'dd-MMMM-yyyy'
}, {
text: 'Quantity',
datafield: 'quantity',
width: 80,
cellsalign: 'right'
}, {
text: 'Unit Price',
datafield: 'price',
cellsalign: 'right',
cellsformat: 'c2'
}],
});
$("#jqxgrid").on('cellendedit', function (event) {
var allrows = $("#jqxgrid").jqxGrid('getrows');
var retHtml = "cellendedit \n";
for(var i = 0; i < allrows.length; i++) {
retHtml += "uid=" + allrows[i].uid + "\n";
}
$("#result").html(retHtml); ...