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);




posted on 2008-07-03 14:03  apple  阅读(1231)  评论(0)    收藏  举报