FineUI/FineUI.Examples/tree/databind/tree_datatable.aspx.cs
三生石上 8e116609c6 v4.2.0
2015-05-19 14:45:47 +08:00

129 lines
3.6 KiB
C#

using System;
using System.Collections.Generic;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Data;
using System.Text;
namespace FineUI.Examples.tree.databind
{
public partial class tree_datatable : PageBase
{
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
LoadData();
}
}
private void LoadData()
{
// 模拟从数据库返回数据表
DataTable table = CreateDataTable();
DataSet ds = new DataSet();
ds.Tables.Add(table);
ds.Relations.Add("TreeRelation", ds.Tables[0].Columns["Id"], ds.Tables[0].Columns["ParentId"]);
foreach (DataRow row in ds.Tables[0].Rows)
{
if (row.IsNull("ParentId"))
{
TreeNode node = new TreeNode();
node.Text = row["Text"].ToString();
node.Expanded = true;
Tree1.Nodes.Add(node);
ResolveSubTree(row, node);
}
}
}
private void ResolveSubTree(DataRow dataRow, TreeNode treeNode)
{
DataRow[] rows = dataRow.GetChildRows("TreeRelation");
if (rows.Length > 0)
{
treeNode.Expanded = true;
foreach (DataRow row in rows)
{
TreeNode node = new TreeNode();
node.Text = row["Text"].ToString();
treeNode.Nodes.Add(node);
ResolveSubTree(row, node);
}
}
}
#region CreateDataTable
private DataTable CreateDataTable()
{
DataTable table = new DataTable();
DataColumn column1 = new DataColumn("Id", typeof(string));
DataColumn column2 = new DataColumn("Text", typeof(String));
DataColumn column3 = new DataColumn("ParentId", typeof(string));
table.Columns.Add(column1);
table.Columns.Add(column2);
table.Columns.Add(column3);
DataRow row = table.NewRow();
row[0] = "china";
row[1] = "中国";
row[2] = DBNull.Value;
table.Rows.Add(row);
row = table.NewRow();
row[0] = "henan";
row[1] = "河南省";
row[2] = "china";
table.Rows.Add(row);
row = table.NewRow();
row[0] = "zhumadian";
row[1] = "驻马店市";
row[2] = "henan";
table.Rows.Add(row);
row = table.NewRow();
row[0] = "luohe";
row[1] = "漯河市";
row[2] = "henan";
table.Rows.Add(row);
row = table.NewRow();
row[0] = "anhui";
row[1] = "安徽省";
row[2] = "china";
table.Rows.Add(row);
row = table.NewRow();
row[0] = "hefei";
row[1] = "合肥市";
row[2] = "anhui";
table.Rows.Add(row);
row = table.NewRow();
row[0] = "golden";
row[1] = "金色池塘小区";
row[2] = "hefei";
table.Rows.Add(row);
row = table.NewRow();
row[0] = "ustc";
row[1] = "中国科学技术大学";
row[2] = "hefei";
table.Rows.Add(row);
return table;
}
#endregion
}
}