Your search did not match any results.
Gauges

Update Circular Gauge Data at Runtime

Documentation
This demo illustrates how to bind an array of subvalues to the CircularGauge. Since an array can not be bound to a field as a regular value, it is bound as a computed one.
Copy to Plunker
Apply
Reset
<div id="gauge-demo"> <dx-circular-gauge id="gauge" [value]="value.mean" [subvalues]="[value.min, value.max]"> <dxo-range-container> <dxi-range [startValue]="10" [endValue]="20" color="#0077BE"></dxi-range> <dxi-range [startValue]="20" [endValue]="30" color="#E6E200"></dxi-range> <dxi-range [startValue]="30" [endValue]="40" color="#77DD77"></dxi-range> </dxo-range-container> <dxo-scale [startValue]="10" [endValue]="40" [tickInterval]="5"> <dxo-label [customizeText]="customizeText"></dxo-label> </dxo-scale> <dxo-tooltip [enabled]="true"></dxo-tooltip> <dxo-title text="Temperature in the Greenhouse"> <dxo-font [size]="28"></dxo-font> </dxo-title> </dx-circular-gauge> <dx-select-box #seasons id="seasons" [dataSource]="dataSource" [width]="150" displayExpr="name" [(value)]="value"> </dx-select-box> </div>
import { NgModule, Component, enableProdMode } from '@angular/core'; import { BrowserModule } from '@angular/platform-browser'; import { platformBrowserDynamic } from '@angular/platform-browser-dynamic'; import { DxCircularGaugeModule, DxSelectBoxModule } from 'devextreme-angular'; import { Data, Service } from './app.service'; if(!/localhost/.test(document.location.host)) { enableProdMode(); } @Component({ selector: 'demo-app', templateUrl: 'app/app.component.html', styleUrls: ['app/app.component.css'], providers: [Service] }) export class AppComponent { dataSource: Data[]; value: Data; constructor(service: Service) { this.dataSource = service.getData(); this.value = this.dataSource[0]; } customizeText(arg) { return arg.valueText + ' °C'; } } @NgModule({ imports: [ BrowserModule, DxCircularGaugeModule, DxSelectBoxModule ], declarations: [AppComponent], bootstrap: [AppComponent] }) export class AppModule { } platformBrowserDynamic().bootstrapModule(AppModule);
/deep/ #gauge-demo { height: 440px; width: 100%; } /deep/ #gauge { width: 80%; height: 100%; float: left; } /deep/ #seasons { width: 20%; float: left; text-align: left; margin-top: 20px; }
import { Injectable } from '@angular/core'; export class Data { name: string; mean: number; min: number; max: number; } let dataSource: Data[] = [{ name: 'Summer', mean: 35, min: 28, max: 38 }, { name: 'Autumn', mean: 24, min: 20, max: 32 }, { name: 'Winter', mean: 18, min: 16, max: 23 }, { name: 'Spring', mean: 27, min: 18, max: 31 }]; @Injectable() export class Service { getData(): Data[] { return dataSource; } }
// In real applications, you should not transpile code in the browser. You can see how to create your own application with Angular 2 and DevExtreme here: // https://github.com/DevExpress/devextreme-angular/blob/master/README.md System.config({ transpiler: 'ts', typescriptOptions: { module: "commonjs", emitDecoratorMetadata: true, experimentalDecorators: true }, meta: { 'typescript': { "exports": "ts" } }, paths: { 'npm:': 'https://unpkg.com/' }, map: { 'ts': 'npm:plugin-typescript@7.0.6/lib/plugin.js', 'typescript': 'npm:typescript@2.2.2/lib/typescript.js', '@angular/core': 'npm:@angular/core@4.1.0/bundles/core.umd.js', '@angular/common': 'npm:@angular/common@4.1.0/bundles/common.umd.js', '@angular/compiler': 'npm:@angular/compiler@4.1.0/bundles/compiler.umd.js', '@angular/platform-browser': 'npm:@angular/platform-browser@4.1.0/bundles/platform-browser.umd.js', '@angular/platform-browser-dynamic': 'npm:@angular/platform-browser-dynamic@4.1.0/bundles/platform-browser-dynamic.umd.js', '@angular/http': 'npm:@angular/http@4.1.0/bundles/http.umd.js', '@angular/router': 'npm:@angular/router@4.1.0/bundles/router.umd.js', '@angular/forms': 'npm:@angular/forms@4.1.0/bundles/forms.umd.js', 'rxjs': 'npm:rxjs@5.3.1', 'devextreme': 'npm:devextreme@17.1', 'jquery': 'npm:jquery@3.1.1/dist/jquery.min.js', 'jszip': 'npm:jszip@3.1.3/dist/jszip.min.js', 'devextreme-angular': 'npm:devextreme-angular@17.1' }, packages: { 'app': { main: './app.component.ts', defaultExtension: 'ts' }, 'devextreme': { defaultExtension: 'js' }, 'devextreme-angular': { main: 'index.js', defaultExtension: 'js' } } });
<!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" /> <link rel="stylesheet" type="text/css" href="https://cdn3.devexpress.com/jslib/17.1.5/css/dx.spa.css" /> <link rel="stylesheet" type="text/css" href="https://cdn3.devexpress.com/jslib/17.1.5/css/dx.common.css" /> <link rel="dx-theme" data-theme="generic.light" href="https://cdn3.devexpress.com/jslib/17.1.5/css/dx.light.css" /> <script src="https://unpkg.com/core-js@2.4.1/client/shim.min.js"></script> <script src="https://unpkg.com/zone.js@0.6.25/dist/zone.js"></script> <script src="https://unpkg.com/reflect-metadata@0.1.3/Reflect.js"></script> <script src="https://unpkg.com/systemjs@0.19.31/dist/system.js"></script> <script src="config.js"></script> <script> System.import('app').catch(console.error.bind(console)); </script> </head> <body class="dx-viewport"> <div class="demo-container"> <demo-app>Loading...</demo-app> </div> </body> </html>