We are proud to share our inclusion in the 2024 Gartner Magic Quadrant for Data Integration Tools. We believe this recognition reflects the differentiated business outcomes CData delivers to our customers.
Get the Report →DataBind Zendesk Data to the DevExpress Data Grid
Use the CData ADO.NET Provider for Zendesk with the DevExpress Windows Forms and Web controls to provide Zendesk data to a chart.
The ADO.NET Provider for Zendesk by CData incorporates conventional ADO.NET data access components compatible with third-party controls. You can adhere to the standard ADO.NET data binding procedures to establish two-way access to real-time data through UI controls. This article will demonstrate the utilization of CData components for data binding with DevExpress UI Controls (Windows Forms and Web controls), specifically binding to a chart that visualizes live data.
Connecting to Zendesk
To connect, set the URL and provide authentication. The URL is your Zendesk Support URL: https://{subdomain}.zendesk.com.
Authenticating to Zendesk
You can authenticate using the Basic or OAuth methods.
Using Basic Authentication
To use Basic authentication, specify your email address and password or your email address and an API token. Set User to your email address and follow the steps below to provide the Password or ApiToken.
- Enable password access in the Zendesk Support admin interface at Admin > Channels > API.
- Manage API tokens in the Zendesk Support Admin interface at Admin > Channels > API. More than one token can be active at the same time. Deleting a token deactivates it permanently.
Using OAuth Authentication
See the Getting Started guide in the CData driver documentation for an authentication guide.
Windows Forms Controls
The code below shows how to populate a DevExpress chart with Zendesk data. The ZendeskDataAdapter binds to the Series property of the chart control. The Diagram property of the control defines the x- and y-axes as the column names.
using (ZendeskConnection connection = new ZendeskConnection(
"URL=https://subdomain.zendesk.com;[email protected];Password=test123;InitiateOAuth=GETANDREFRESH")) {
ZendeskDataAdapter dataAdapter = new ZendeskDataAdapter(
"SELECT Id, Subject FROM Tickets", connection);
DataTable table = new DataTable();
dataAdapter.Fill(table);
DevExpress.XtraCharts.Series series = new DevExpress.XtraCharts.Series();
chartControl1.Series.Add(series);
series.DataSource = table;
series.ValueDataMembers.AddRange(new string[] { "Subject" });
series.ArgumentScaleType = DevExpress.XtraCharts.ScaleType.Qualitative;
series.ArgumentDataMember = "Id";
series.ValueScaleType = DevExpress.XtraCharts.ScaleType.Numerical;
chartControl1.Legend.Visibility = DevExpress.Utils.DefaultBoolean.False;
((DevExpress.XtraCharts.SideBySideBarSeriesView)series.View).ColorEach = true;
}
Web Controls
The code below shows how to populate a DevExpress Web control with Zendesk data. The ZendeskDataAdapter binds to the Series property of the chart; the Diagram property defines the x- and y-axes as the column names.
using DevExpress.XtraCharts;
using (ZendeskConnection connection = new ZendeskConnection(
"URL=https://subdomain.zendesk.com;[email protected];Password=test123;InitiateOAuth=GETANDREFRESH"))
{
ZendeskDataAdapter ZendeskDataAdapter1 = new ZendeskDataAdapter("SELECT Id, Subject FROM Tickets", connection);
DataTable table = new DataTable();
ZendeskDataAdapter1.Fill(table);
DevExpress.XtraCharts.Series series = new Series("Series1", ViewType.Bar);
WebChartControl1.Series.Add(series);
series.DataSource = table;
series.ValueDataMembers.AddRange(new string[] { "Subject" });
series.ArgumentScaleType = ScaleType.Qualitative;
series.ArgumentDataMember = "Id";
series.ValueScaleType = ScaleType.Numerical;
((DevExpress.XtraCharts.SideBySideBarSeriesView)series.View).ColorEach = true;
}