private DataTable dtPowerTree = new DataTable();
private DataTable dt=new DataTable();
protected System.Web.UI.WebControls.DropDownList DropDownList1;
protected System.Web.UI.WebControls.TextBox TextBox1;
const string tablename = "tree";
protected System.Web.UI.WebControls.DropDownList DropDownList2;
private string strText;
private void Page_Load(object sender, System.EventArgs e)
{
if(!Page.IsPostBack)
{
FillTreeDataTable();
blTreeDataTable(0);
dtPowerTree.Clear();
}
// 在此处放置用户代码以初始化页面
}
private void FillTreeDataTable()
{
string ConnectionString = System.Configuration.ConfigurationSettings.AppSettings["ConnectionString"];
SqlConnection conn = new SqlConnection(ConnectionString);
SqlDataAdapter da = new SqlDataAdapter("select Id,PowerName,Layer,ParentId from " + tablename, conn);
da.Fill(dtPowerTree);
}
private void blTreeDataTable(int _ParentId)
{
string filter = "ParentId=" + _ParentId;
string sort = "Id ASC";
DataRow[] drs = dtPowerTree.Select(filter, sort);
for(int i=0; i<drs.Length; i++)
{
if(Convert.ToInt32(drs[i][3]) == _ParentId)
{
int Id = Convert.ToInt32(drs[i][0]);
string PowerName = drs[i][1].ToString();
int Layer = Convert.ToInt32(drs[i][2]);
for(int n=1;n<=Layer; n++)
{
strText += HttpUtility.HtmlDecode(" ");
}
if(_ParentId!=0)
{
DropDownList1.Items.Add(new ListItem(strText+"┣"+PowerName,Id.ToString()));
strText="";
}
else
{
DropDownList1.Items.Add(new ListItem(PowerName,Id.ToString()));
}
blTreeDataTable(Id);
}
}
}
#region Web 窗体设计器生成的代码
override protected void OnInit(EventArgs e)
{
//
// CODEGEN: 该调用是 ASP.NET Web 窗体设计器所必需的。
//
InitializeComponent();
base.OnInit(e);
}
/// <summary>
/// 设计器支持所需的方法 - 不要使用代码编辑器修改
/// 此方法的内容。
/// </summary>
private void InitializeComponent()
{
this.DropDownList1.SelectedIndexChanged += new System.EventHandler(this.DropDownList1_SelectedIndexChanged);
this.Load += new System.EventHandler(this.Page_Load);
}
#endregion
}
}