asp.net2.0 treeview的用法--绑定数据库数据

来源:互联网 发布:linux服务器管理系统 编辑:程序博客网 时间:2024/05/17 22:34
2007年11月28日 星期三 下午 05:07

<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Fdy.aspx.cs" Inherits="Fdy" EnableViewState="false" %>



    无标题页


   


       
       
   


using System;
using System.Data;
using System.Configuration;
using System.Collections;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;

public partial class Fdy : System.Web.UI.Page
{
    DataBase db = new DataBase();
    DataSet ds;
    protected void Page_Load(object sender, EventArgs e)
    {
        if (!IsPostBack)
        {
            ds = db.Query("SELECT [ApplicationID], [A_AppName], [A_AppUrl], [FatherId], [Depth], [A_AppDescription], [Deleted] FROM sys_Applications where deleted=0");
            //调用递归函数,完成树形结构的生成  
            AddTree(0, (TreeNode)null);
        }
    }
    //   递归添加树的节点  
    public void AddTree(int ParentID, TreeNode pNode)
    {
        DataView dvTree = new DataView(ds.Tables[0]);
        //过滤ParentID,得到当前的所有子节点  
        dvTree.RowFilter = "[FatherId]   =   " + ParentID;

        foreach (DataRowView Row in dvTree)
        {
            TreeNode Node = new TreeNode();
            Node.Text = Row["A_AppName"].ToString();
            if (Row["A_AppUrl"].ToString().Length == 0)
                Node.SelectAction = TreeNodeSelectAction.Expand;
            Node.NavigateUrl = Row["A_AppUrl"].ToString();
            if (pNode == null)
            {
                TreeView1.Nodes.Add(Node);
            }
            else
            {
                pNode.ChildNodes.Add(Node);
            }
            AddTree(Int32.Parse(Row["ApplicationID"].ToString()), Node);//再次递归  
        }
    }
}

原创粉丝点击