1. 在pageload函数中
if(!IsPostBack)
{
Microsoft.Web.UI.WebControls.TreeNode rootnode = new Microsoft.Web.UI.WebControls.TreeNode();
rootnode.Expanded = true; //所有结点展开
rootnode.Text = "root";
treCroLinMuti.Nodes.Add(rootnode);
CreateTree(0, rootnode);
treCroLinMuti.Attributes.Add("OnClick", "OnTreeNodeChecked(event)");
}

2. 生成树的函数
private void CreateTree(int belong, Microsoft.Web.UI.WebControls.TreeNode rootnode)
{
DataSet ds = new DataSet();
ds = GetDataSource(belong); 
foreach(DataRow dr in ds.Tables[0].Rows)
{
Microsoft.Web.UI.WebControls.TreeNode treenode = new Microsoft.Web.UI.WebControls.TreeNode();
treenode.Text = dr["ColumnName"].ToString().Trim();
treenode.ID = dr["ColumnId"].ToString().Trim();
//treenode.CheckBox = true;
treenode.Expanded = true;
rootnode.Nodes.Add(treenode);
int id = int.Parse(dr["ColumnId"].ToString().Trim());
CreateTree(id, treenode);
}
}
private DataSet GetDataSource(int ColumnID)
{
DataSet columnInfo = new DataSet();
UniskPortal.BLL.MDS.CrossLink CrossLinkStat= new UniskPortal.BLL.MDS.CrossLink();
columnInfo = CrossLinkStat.GetCrossLink(ColumnID);
return columnInfo;
}
3 点node的事件响应
private void treCroLinMuti_SelectedIndexChange(object sender, Microsoft.Web.UI.WebControls.TreeViewSelectEventArgs e)
{
//string id = this.treeView1.SelectedNodeIndex.ToString();
Microsoft.Web.UI.WebControls.TreeNode anode = treCroLinMuti.GetNodeFromIndex(treCroLinMuti.SelectedNodeIndex);
string a = anode.ID;
try
{
Convert.ToInt32(a);
}
catch
{
a="0";
}
Session["ColumnCrossLinkID"] = a; //得到结点的id值

//下面为点结点后,要做的事情
// //树页面的txtbox
// this.Page.RegisterStartupScript("upAlert","<script language=javascript>document.getElementById('_ctl0_MainContent_ColumnListUC1_tbx_ColumnID').value='"+a+"';</script>");
// Response.Redirect("ViewCrossLink.aspx?ColumnId="+a);
}


4 加入句柄
this.treCroLinMuti.SelectedIndexChange += new Microsoft.Web.UI.WebControls.SelectEventHandler(this.treCroLinMuti_SelectedIndexChange);





浙公网安备 33010602011771号