ASPxTreeList.DataSource Property
Gets or sets the ASPxTreeList’s data source.
Namespace: DevExpress.Web.ASPxTreeList
Assembly: DevExpress.Web.ASPxTreeList.v19.2.dll
Declaration
Property Value
Type | Description |
---|---|
Object | An object which represents the data source from which the ASPxTreeList retrieves its data. |
Example
This example shows how to bind the ASPxTreeList to data created at runtime.
Note
To correctly restore from the ViewState, a tree list needs data. When binding to data created at runtime, you must bind the tree list within the Page_Init event. Don’t handle the Page_Load event because it is fired after the ViewState has been restored.
using System.Data.OleDb;
using DevExpress.Web.ASPxTreeList;
public partial class _Default : System.Web.UI.Page {
protected override void OnInit(EventArgs e) {
base.OnInit(e);
InitTreeList(ASPxTreeList1);
}
protected void Page_Load(object sender, EventArgs e) {
ASPxTreeList1.DataBind();
(ASPxTreeList1 as IPostBackDataHandlerEx).ForceLoadPostData(Tree.ID, HttpContext.Current.Request.Params);
}
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];
}
void InitTreeList(ASPxTreeList tl) {
tl.SettingsSelection.Recursive = true;
tl.SettingsSelection.AllowSelectAll = true;
tl.SettingsSelection.Enabled = true;
tl.KeyFieldName = "ID";
tl.ParentFieldName = "ParentID";
tl.DataSource = CreateDataTable(CreateDataAdapter());
}
}
Related GitHub Examples
The following code snippets (auto-collected from DevExpress Examples) contain references to the DataSource property.
Note
The algorithm used to collect these code examples remains a work in progress. Accordingly, the links and snippets below may produce inaccurate results. If you encounter an issue with code examples below, please use the feedback form on this page to report the issue.