jqwidgets-framework
Version:
jQWidgets is an advanced Angular, Vue, Blazor, React, Web Components, jquery, ASP .NET MVC, Custom Elements and HTML5 UI framework.
206 lines (195 loc) • 10.8 kB
HTML
<html lang="en">
<head>
<title id='Description'>
In this sample is demonstrated how to display toolbar bar in
jqxGrid.
</title>
<link rel="stylesheet" href="../../../jqwidgets/styles/jqx.base.css" type="text/css" />
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1" />
<meta name="viewport" content="width=device-width, initial-scale=1 maximum-scale=1 minimum-scale=1" />
<script type="text/javascript" src="../../../scripts/jquery-1.12.4.min.js"></script>
<script type="text/javascript" src="../../../jqwidgets/jqxcore.js"></script>
<script type="text/javascript" src="../../../jqwidgets/jqxdata.js"></script>
<script type="text/javascript" src="../../../jqwidgets/jqxbuttons.js"></script>
<script type="text/javascript" src="../../../jqwidgets/jqxscrollbar.js"></script>
<script type="text/javascript" src="../../../jqwidgets/jqxmenu.js"></script>
<script type="text/javascript" src="../../../jqwidgets/jqxgrid.js"></script>
<script type="text/javascript" src="../../../jqwidgets/jqxgrid.selection.js"></script>
<script type="text/javascript" src="../../../jqwidgets/jqxgrid.filter.js"></script>
<script type="text/javascript" src="../../../jqwidgets/jqxlistbox.js"></script>
<script type="text/javascript" src="../../../jqwidgets/jqxdropdownlist.js"></script>
<script type="text/javascript" src="../../../jqwidgets/jqxcheckbox.js"></script>
<script type="text/javascript" src="../../../jqwidgets/jqxwindow.js"></script>
<script type="text/javascript" src="../../../scripts/demos.js"></script>
<script type="text/javascript" src="generatedata.js"></script>
<script type="text/javascript">
$(document).ready(function () {
var getAdapter = function () {
// prepare the data
var data = generatedata(15);
var source =
{
localdata: data,
datatype: "array",
datafields:
[
{ name: 'firstname', type: 'string' },
{ name: 'lastname', type: 'string' },
{ name: 'productname', type: 'string' },
{ name: 'quantity', type: 'number' },
{ name: 'price', type: 'number' },
{ name: 'available', type: 'bool' }
],
updaterow: function (rowid, rowdata, commit) {
// synchronize with the server - send update command
// call commit with parameter true if the synchronization with the server is successful
// and with parameter false if the synchronization failed.
commit(true);
}
};
var dataAdapter = new $.jqx.dataAdapter(source);
return dataAdapter;
}
// initialize jqxGrid
$("#grid").jqxGrid(
{
width: getWidth('Grid'),
source: getAdapter(),
showtoolbar: true,
rendertoolbar: function (statusbar) {
// appends buttons to the status bar.
var container = $("<div style='overflow: hidden; position: relative; margin: 5px;'></div>");
var addButton = $("<div style='float: left; margin-left: 5px;'><img style='position: relative; margin-top: 2px;' src='../../../images/add.png'/><span style='margin-left: 4px; position: relative; top: -3px;'>Add</span></div>");
var deleteButton = $("<div style='float: left; margin-left: 5px;'><img style='position: relative; margin-top: 2px;' src='../../../images/close.png'/><span style='margin-left: 4px; position: relative; top: -3px;'>Delete</span></div>");
var reloadButton = $("<div style='float: left; margin-left: 5px;'><img style='position: relative; margin-top: 2px;' src='../../../images/refresh.png'/><span style='margin-left: 4px; position: relative; top: -3px;'>Reload</span></div>");
var searchButton = $("<div style='float: left; margin-left: 5px;'><img style='position: relative; margin-top: 2px;' src='../../../images/search.png'/><span style='margin-left: 4px; position: relative; top: -3px;'>Find</span></div>");
container.append(addButton);
container.append(deleteButton);
container.append(reloadButton);
container.append(searchButton);
statusbar.append(container);
addButton.jqxButton({ width: 60, height: 20 });
deleteButton.jqxButton({ width: 65, height: 20 });
reloadButton.jqxButton({ width: 65, height: 20 });
searchButton.jqxButton({ width: 50, height: 20 });
// add new row.
addButton.click(function (event) {
var datarow = generatedata(1);
$("#grid").jqxGrid('addrow', null, datarow[0]);
});
// delete selected row.
deleteButton.click(function (event) {
var selectedrowindex = $("#grid").jqxGrid('getselectedrowindex');
var rowscount = $("#grid").jqxGrid('getdatainformation').rowscount;
var id = $("#grid").jqxGrid('getrowid', selectedrowindex);
$("#grid").jqxGrid('deleterow', id);
});
// reload grid data.
reloadButton.click(function (event) {
$("#grid").jqxGrid({ source: getAdapter() });
});
// search for a record.
searchButton.click(function (event) {
var offset = $("#grid").offset();
$("#jqxwindow").jqxWindow('open');
$("#jqxwindow").jqxWindow('move', offset.left + 30, offset.top + 30);
});
},
columns: [
{ text: 'First Name', columntype: 'textbox', datafield: 'firstname', width: 120 },
{ text: 'Last Name', datafield: 'lastname', columntype: 'textbox', width: 120 },
{ text: 'Product', datafield: 'productname', width: 170 },
{ text: 'In Stock', datafield: 'available', columntype: 'checkbox', width: 125 },
{ text: 'Quantity', datafield: 'quantity', width: 85, cellsalign: 'right', cellsformat: 'n2' },
{ text: 'Price', datafield: 'price', cellsalign: 'right', cellsformat: 'c2' }
]
});
// create jqxWindow.
$("#jqxwindow").jqxWindow({ resizable: false, autoOpen: false, width: 210, height: 180 });
// create find and clear buttons.
$("#findButton").jqxButton({ width: 70});
$("#clearButton").jqxButton({ width: 70});
// create dropdownlist.
$("#dropdownlist").jqxDropDownList({ autoDropDownHeight: true, selectedIndex: 0, width: 200, height: 23,
source: [
'First Name', 'Last Name', 'Product', 'Quantity', 'Price'
]
});
if (theme != "") {
$("#inputField").addClass('jqx-input-' + theme);
}
// clear filters.
$("#clearButton").click(function () {
$("#grid").jqxGrid('clearfilters');
});
// find records that match a criteria.
$("#findButton").click(function () {
$("#grid").jqxGrid('clearfilters');
var searchColumnIndex = $("#dropdownlist").jqxDropDownList('selectedIndex');
var datafield = "";
switch (searchColumnIndex) {
case 0:
datafield = "firstname";
break;
case 1:
datafield = "lastname";
break;
case 2:
datafield = "productname";
break;
case 3:
datafield = "quantity";
break;
case 4:
datafield = "price";
break;
}
var searchText = $("#inputField").val();
var filtergroup = new $.jqx.filter();
var filter_or_operator = 1;
var filtervalue = searchText;
var filtercondition = 'contains';
var filter = filtergroup.createfilter('stringfilter', filtervalue, filtercondition);
filtergroup.addfilter(filter_or_operator, filter);
$("#grid").jqxGrid('addfilter', datafield, filtergroup);
// apply the filters.
$("#grid").jqxGrid('applyfilters');
});
});
</script>
</head>
<body class='default'>
<div id='jqxWidget'>
<div id="grid">
</div>
<div id="jqxwindow">
<div>
Find Record
</div>
<div style="overflow: hidden;">
<div>
Find what:
</div>
<div style='margin-top:5px;'>
<input id='inputField' type="text" class="jqx-input" style="width: 200px; height: 23px;" />
</div>
<div style="margin-top: 7px; clear: both;">
Look in:
</div>
<div style='margin-top:5px;'>
<div id='dropdownlist'>
</div>
</div>
<div>
<input type="button" style='margin-top: 15px; margin-left: 50px; float: left;' value="Find" id="findButton" />
<input type="button" style='margin-left: 5px; margin-top: 15px; float: left;' value="Clear" id="clearButton" />
</div>
</div>
</div>
</div>
<div style="position: absolute; bottom: 5px; right: 5px;">
<a href="https://www.jqwidgets.com/" alt="https://www.jqwidgets.com/"><img alt="https://www.jqwidgets.com/" title="https://www.jqwidgets.com/" src="https://www.jqwidgets.com/wp-content/design/i/logo-jqwidgets.png"/></a>
</div>
</body>
</html>