Providing Data
- 3 minutes to read
The Dashboard Designer allows you to bind dashboard items to data in a uniform manner. See the Bind Dashboard Items to Data topic for general information.
The difference is in the data sections that the specific dashboard item has. This topic describes how to bind the Gauge dashboard item to data in the Designer or in code.
Binding to Data in the Designer
The image below shows a sample Gauge dashboard item that is bound to data.
To bind the Gauge dashboard item to data, drag and drop a data source field to a placeholder contained in one of the available data sections. A table below lists and describes Gauge’s data sections.
Section | Processed as | Description |
---|---|---|
Gauges | Measure (both Actual and Target values) | Contains data items used to calculate values displayed by gauges. Data items are arranged in containers. Each data item container can hold two data items. The first item contains actual data and the second item (optional) contains target data. If both items are provided, gauges show the difference between actual and target values. You can fill several data item containers in the Gauges section and use the Values drop-down menu to switch between the provided values. To invoke the Values menu, click the icon in the dashboard item caption. Note This drop-down menu is available if the Series section is not empty. Otherwise, a separate gauge is created for each data item container, and all gauges are displayed simultaneously. |
Series | Contains data items whose values are used to label gauges. |
Binding to Data in Code
To provide data for the Gauge dashboard item, use the following properties.
Series | |
Values | To provide data used to calculate values displayed by gauges, do the following.
|
Example
The following example demonstrates how to bind a Gauge dashboard item to data in code.
Note
The complete sample project How to Bind a Gauge Dashboard Item to Data at Runtime is available in the DevExpress Examples repository.
using System;
using System.Windows.Forms;
using DevExpress.DashboardCommon;
namespace Dashboard_CreateGauges {
public partial class Form1 : Form {
public Form1() {
InitializeComponent();
}
private GaugeDashboardItem CreateGauges(DashboardObjectDataSource dataSource) {
GaugeDashboardItem gauges = new GaugeDashboardItem();
gauges.ViewType = GaugeViewType.CircularHalf;
gauges.DataSource = dataSource;
Gauge gauge = new Gauge();
gauge.ActualValue = new Measure("Extended Price", SummaryType.Sum);
gauges.Gauges.Add(gauge);
gauges.SeriesDimensions.Add(new Dimension("Sales Person"));
return gauges;
}
private void Form1_Load(object sender, EventArgs e) {
Dashboard dashboard = new Dashboard();
DashboardObjectDataSource dataSource = new DashboardObjectDataSource();
dashboard.DataSources.Add(dataSource);
GaugeDashboardItem gauges = CreateGauges(dataSource);
dashboard.Items.Add(gauges);
dashboardViewer1.AsyncDataLoading += (s, ev) => {
ev.Data = new nwindDataSetTableAdapters.SalesPersonTableAdapter().GetData();
};
dashboardViewer1.Dashboard = dashboard;
}
}
}