How to: Bind the ASPxTreeList to Data Created at Runtime
- 2 minutes to read
To bind an ASPxTreeList control to data created at runtime, handle the Page_Init
or Page_Load
event. In the event handler, assign a data source to the tree list’s DataSource property and call the DataBind() method:
<dx:ASPxTreeList ID="ASPxTreeList1" runat="server"></dx:ASPxTreeList>
using DevExpress.Web.ASPxTreeList;
using DevExpress.Web.Internal;
using System;
using System.Data;
using System.Data.OleDb;
using System.Web;
public partial class _Default : System.Web.UI.Page {
protected override void Page_Init(EventArgs e) {
InitTreeList(ASPxTreeList1);
ASPxTreeList1.DataBind();
}
private void InitTreeList(ASPxTreeList tl) {
tl.SettingsSelection.AllowSelectAll = true;
tl.SettingsSelection.Enabled = true;
tl.KeyFieldName = "ID";
tl.ParentFieldName = "ParentID";
tl.DataSource = CreateDataTable(CreateDataAdapter());
}
OleDbDataAdapter CreateDataAdapter() {
string connectionString =
@"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\Databases\Departments.mdb";
OleDbConnection myConnection = new OleDbConnection(connectionString);
string query =
"SELECT [ID], [ParentID], [Department], [Budget], [Location] FROM [Departments]";
return new OleDbDataAdapter(query, myConnection);
}
DataTable CreateDataTable(OleDbDataAdapter myAdapter) {
DataTable dt = new DataTable();
DataSet testData = new DataSet();
myAdapter.Fill(testData);
return testData.Tables[0];
}
}