Your search did not match any results.
Gauges

Update Linear Gauge Data at Runtime

Documentation
This demo illustrates data binding in the LinearGauge widget. The bound data changes when a user selects a new location in the City drop-down menu.
Copy to Codepen
Apply
Reset
window.onload = function() { var temperature = ko.observable(cities[0].data.temperature), humidity = ko.observable(cities[0].data.humidity), pressure = ko.observable(cities[0].data.pressure); var viewModel = { temperatureGauge: { value: temperature, title: { text: "Temperature (°C)", font: { size: 16 } }, geometry: { orientation: "vertical" }, scale: { startValue: -40, endValue: 40, tickInterval: 40 }, rangeContainer: { backgroundColor: "none", ranges: [ { startValue: -40, endValue: 0, color: "#679EC5" }, { startValue: 0, endValue: 40 } ] } }, humidityGauge: { value: humidity, title: { text: "Humidity (%)", font: { size: 16 } }, geometry: { orientation: "vertical" }, scale: { startValue: 0, endValue: 100, tickInterval: 10, }, rangeContainer: { backgroundColor: "#CACACA" }, valueIndicator: { type: "rhombus", color: "#A4DDED" } }, pressureGauge: { value: pressure, title: { text: "Barometric Pressure (mb)", font: { size: 16 } }, geometry: { orientation: "vertical" }, scale: { startValue: 900, endValue: 1100, customTicks: [900, 1000, 1020, 1100] }, rangeContainer: { ranges: [ { startValue: 900, endValue: 1000, color: "#679EC5" }, { startValue: 1000, endValue: 1020, color: "#A6C567" }, { startValue: 1020, endValue: 1100, color: "#E18E92" } ] }, valueIndicator: { type: "circle", color: "#E3A857" } }, selectBoxOptions: { dataSource: cities, displayExpr: "name", onValueChanged: function(e) { temperature(e.value.data.temperature); humidity(e.value.data.humidity); pressure(e.value.data.pressure); }, value: cities[0] } }; ko.applyBindings(viewModel, $("#gauge-demo").get(0)); };
<!DOCTYPE html> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <title>DevExtreme Demo</title> <meta http-equiv="X-UA-Compatible" content="IE=edge" /> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0" /> <script src="js/jquery-3.1.0.min.js"></script> <script src="https://cdnjs.cloudflare.com/ajax/libs/knockout/3.4.0/knockout-min.js"></script> <link rel="stylesheet" type="text/css" href="https://cdn3.devexpress.com/jslib/16.2.5/css/dx.spa.css" /> <link rel="stylesheet" type="text/css" href="https://cdn3.devexpress.com/jslib/16.2.5/css/dx.common.css" /> <link rel="dx-theme" data-theme="generic.light" href="https://cdn3.devexpress.com/jslib/16.2.5/css/dx.light.css" /> <script src="https://cdn3.devexpress.com/jslib/16.2.5/js/dx.all.js"></script> <script src="data.js"></script> <link rel="stylesheet" type ="text/css" href ="styles.css" /> <script src="index.js"></script> </head> <body class="dx-viewport"> <div class="demo-container"> <div class="long-title"><h3>Weather Indicators</h3></div> <div id="gauge-demo"> <div class="gauge-element" data-bind="dxLinearGauge: temperatureGauge"></div> <div class="gauge-element" data-bind="dxLinearGauge: humidityGauge"></div> <div class="gauge-element" data-bind="dxLinearGauge: pressureGauge"></div> <div data-bind="dxSelectBox: selectBoxOptions"> </div> </div> </div> </body> </html>
#gauge-demo { height: 440px; width: 100%; } #gauge-demo .gauge-element { height: 100%; width: 30%; float: left; } #gauge-demo .dx-selectbox { float: right; } .long-title h3 { font-family: 'Segoe UI Light', 'Helvetica Neue Light', 'Segoe UI', 'Helvetica Neue', 'Trebuchet MS', Verdana; font-weight: 200; font-size: 28px; text-align: center; margin-bottom: 20px; }
var cities = [{ name: 'London', id: '1', data: { temperature: 10, humidity: 81, pressure: 1002.1 } }, { name: 'Berlin', id: '2', data: { temperature: 14, humidity: 58, pressure: 1008.5 } }, { name: 'New York', id: '3', data: { temperature: 3, humidity: 89, pressure: 1016.2 } }, { name: 'Moscow', id: '4', data: { temperature: 2, humidity: 51, pressure: 1016.5 } }, { name: 'Bangkok', id: '5', data: { temperature: 37, humidity: 39, pressure: 1007.0 } }];