/web/js/components/jqwidgets/demos/jqxtreegrid/javascript-tree-grid-custom-aggregates.htm
https://github.com/jonphipps/Metadata-Registry · HTML · 115 lines · 112 code · 3 blank · 0 comment · 0 complexity · 80d5293d2e055c7dca0b21af26298388 MD5 · raw file
- <!DOCTYPE html>
- <html lang="en">
- <head>
- <title id="Description">Custom TreeGrid Aggregates.</title>
- <meta name="description" content="Custom Tree Grid Aggregates - JavaScript Tree Grid Demo | jQWidgets">
- <link rel="stylesheet" href="../../jqwidgets/styles/jqx.base.css" type="text/css" />
- <script type="text/javascript" src="../../scripts/jquery-1.11.1.min.js"></script>
- <script type="text/javascript" src="../../jqwidgets/jqxcore.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/jqxdatatable.js"></script>
- <script type="text/javascript" src="../../jqwidgets/jqxtreegrid.js"></script>
- <script type="text/javascript" src="../../jqwidgets/jqxdata.js"></script>
- <script type="text/javascript" src="../../jqwidgets/jqxcheckbox.js"></script>
- <script type="text/javascript" src="../../jqwidgets/jqxlistbox.js"></script>
- <script type="text/javascript" src="../../scripts/demos.js"></script>
- <script type="text/javascript">
- $(document).ready(function () {
- var data = [
- {
- "id": "1", "name": "Corporate Headquarters", "budget": "1230000", "location": "Las Vegas",
- "children":
- [
- {
- "id": "2", "name": "Finance Division", "budget": "423000", "location": "San Antonio",
- "children":
- [
- {
- "id": "4", "name": "Investment Department", "budget": "310000", "location": "San Antonio",
- children:
- [
- { "id": "5", "name": "Banking Office", "budget": "240000", "location": "San Antonio" },
- { "id": "6", "name": "Bonds Office", "budget": "70000", "location": "San Antonio" },
- ]
- },
- { "id": "3", "name": "Accounting Department", "budget": "113000", "location": "San Antonio" }
- ]
- },
- {
- "id": "7", "name": "Operations Division", "budget": "600000", "location": "Miami",
- "children":
- [
- { "id": "8", "name": "Manufacturing Department", "budget": "300000", "location": "Miami" },
- { "id": "9", "name": "Public Relations Department", "budget": "200000", "location": "Miami" },
- { "id": "10", "name": "Sales Department", "budget": "100000", "location": "Miami" }
- ]
- },
- { "id": "11", "name": "Research Division", "budget": "200000", "location": "Boston" }
- ]
- }
- ];
- var source =
- {
- dataType: "json",
- dataFields: [
- { name: "name", type: "string" },
- { name: "budget", type: "number" },
- { name: "id", type: "number" },
- { name: "children", type: "array" },
- { name: "location", type: "string" }
- ],
- hierarchy:
- {
- root: "children"
- },
- localData: data,
- id: "id"
- };
- var dataAdapter = new $.jqx.dataAdapter(source, {
- loadComplete: function () {
- }
- });
- // create jqxTreeGrid.
- $("#treeGrid").jqxTreeGrid(
- {
- source: dataAdapter,
- altRows: true,
- width: 850,
- showSubAggregates: true,
- columnsResize: true,
- ready: function () {
- $("#treeGrid").jqxTreeGrid('expandRow', '1');
- $("#treeGrid").jqxTreeGrid('expandRow', '2');
- },
- columns: [
- { text: "Name", align: "center", dataField: "name", width: 300 },
- { text: "Location", dataField: "location", cellsAlign: "center", align: "center", width: 250 },
- {
- text: "Budget", cellsAlign: "center", align: "center", dataField: "budget", cellsFormat: "c2",
- aggregates: ['sum'],
- aggregatesRenderer: function (aggregatesText, column, element, aggregates, type) {
- if (type == "aggregates") {
- var renderString = "<div style='margin: 4px; float: right; height: 100%;'>";
- }
- else {
- var renderString = "<div style='float: right; height: 100%;'>";
- }
- var euro = dataAdapter.formatNumber(0.74 * aggregates.sum, "f2");;
- var usd = dataAdapter.formatNumber(aggregates.sum, "f2");;
- renderString += "<table><tr><td rowspan='2'><strong>Total: </strong></td><td>" + usd + " USD</td><tr><td>" + euro + " EUR</td></tr></table>";
- return renderString;
- }
- }
- ]
- });
- });
- </script>
- </head>
- <body class='default'>
- <div id="treeGrid"></div>
- </body>
- </html>