VOOZH about

URL: https://www.cdata.com/kb/tech/activedirectory-ado-devexpress.rst

⇱ DataBind Active Directory Data to the DevExpress Data Grid


DataBind Active Directory Data to the DevExpress Data Grid

👁 Jerod Johnson
Jerod Johnson
Director, Technology Evangelism
Use the CData ADO.NET Provider for Active Directory with the DevExpress Windows Forms and Web controls to provide Active Directory data to a chart.

The ADO.NET Provider for Active Directory 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.

To establish a connection, set the following properties:

  • Valid User and Password credentials (e.g., Domain\BobF or cn=Bob F,ou=Employees,dc=Domain).
  • Server information, including the IP or host name of the Server, as well as the Port.
  • BaseDN: This will limit the scope of LDAP searches to the height of the distinguished name provided.

    Note: Specifying a narrow BaseDN may greatly increase performance; for example, cn=users,dc=domain will only return results contained within cn=users and its children.

Windows Forms Controls

The code below shows how to populate a DevExpress chart with Active Directory data. The ActiveDirectoryDataAdapter 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 (ActiveDirectoryConnection connection = new ActiveDirectoryConnection(
"User=cn=Bob F,ou=Employees,dc=Domain;Password=bob123;Server=10.0.1.2;Port=389;")) {
 ActiveDirectoryDataAdapter dataAdapter = new ActiveDirectoryDataAdapter(
 "SELECT Id, LogonCount FROM User", 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[] { "LogonCount" });
 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; 
}
👁 The complete code example and the resulting chart.

Web Controls

The code below shows how to populate a DevExpress Web control with Active Directory data. The ActiveDirectoryDataAdapter 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 (ActiveDirectoryConnection connection = new ActiveDirectoryConnection(
"User=cn=Bob F,ou=Employees,dc=Domain;Password=bob123;Server=10.0.1.2;Port=389;"))
{
 ActiveDirectoryDataAdapter ActiveDirectoryDataAdapter1 = new ActiveDirectoryDataAdapter("SELECT Id, LogonCount FROM User", connection);
 DataTable table = new DataTable();
 ActiveDirectoryDataAdapter1.Fill(table);
 DevExpress.XtraCharts.Series series = new Series("Series1", ViewType.Bar);
 WebChartControl1.Series.Add(series);
 series.DataSource = table;
 series.ValueDataMembers.AddRange(new string[] { "LogonCount" });
 series.ArgumentScaleType = ScaleType.Qualitative;
 series.ArgumentDataMember = "Id";
 series.ValueScaleType = ScaleType.Numerical;
 ((DevExpress.XtraCharts.SideBySideBarSeriesView)series.View).ColorEach = true;
}
👁 An ASP.NET application created with the ADO.NET Provider and the DevExpress Web Forms control. (Salesforce is shown.)

Ready to get started?

Download a free trial of the Active Directory Data Provider to get started:

 Download Now

Learn more:

👁 Active Directory Icon
Active Directory ADO.NET Provider

Rapidly create and deploy powerful .NET applications that integrate with Active Directory Users, Groups, Roles, Contacts, and more!