ASPxTreeList.DataSource Property
Gets or sets the ASPxTreeList’s data source.
Namespace: DevExpress.Web.ASPxTreeList
Assembly: DevExpress.Web.ASPxTreeList.v21.2.dll
NuGet Package: DevExpress.Web
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());
}
}
See Also