ASP.NET 无限级树的加载

OPW_XT_MK OP_W_XT_MK = new OPW_XT_MK(AppPublic.GetConnectionString());
    
protected void Page_Load(object sender, EventArgs e)
    
{
        
if (!IsPostBack)
        
{
            
//生成树
            buildTree();
        }

    }


    
/// <summary>
    
/// 添加树形菜单的结构
    
/// </summary>

    private void buildTree()
    
{
        OP_W_XT_MK.GetMKMC(CurrentUser.Id, 
0);
        
foreach (DataRow dbRow in OP_W_XT_MK.dataView.Table.Rows)
        
{
            
if (int.Parse(dbRow[TABLE_W_XT_MK.COLUMN_SJBH].ToString()) == 0)
            
{
                TreeNode newNode;
                
//添加node属性
                newNode = CreateNode(dbRow[TABLE_W_XT_MK.COLUMN_MKMC].ToString(), false);
                TV_menu.Nodes.Add(newNode);
                PopulateSubTree(dbRow, newNode);
            }

        }

    }


    
/// <summary>
    
/// 添加子节点
    
/// </summary>
    
/// <param name="dbRow">表的一行数据</param>
    
/// <param name="node">节点</param>

    private void PopulateSubTree(DataRow dbRow, TreeNode node)
    
{
        
//点击该节点则指向与这个节点相关的业务处理页面
        node.NavigateUrl = dbRow[TABLE_W_XT_MK.COLUMN_URL].ToString();

        
foreach (DataRow childRow in OP_W_XT_MK.dataView.Table.Select(TABLE_W_XT_MK.COLUMN_SJBH + "=" + dbRow[TABLE_W_XT_MK.COLUMN_MKBH].ToString()))
        
{
            TreeNode childNode 
= CreateNode(childRow[TABLE_W_XT_MK.COLUMN_MKMC].ToString(), false);
            childNode.Value 
= childRow[TABLE_W_XT_MK.COLUMN_MKBH].ToString();
            node.ChildNodes.Add(childNode);
            PopulateSubTree(childRow, childNode);
        }

    }


    
/// <summary>
    
/// 添加node 的属性  expanded 的属性是设置节点是否展开.
    
/// </summary>
    
/// <param name="text">节点显示内容</param>
    
/// <param name="expanded">设置节点是否展开</param>
    
/// <returns>树节点</returns>

    private TreeNode CreateNode(string text, Boolean expanded)
    
{
        TreeNode node 
= new TreeNode();
        node.Text 
= text;
        node.Expanded 
= expanded;
        
return node;
    }

posted @ 2006-08-16 19:49  笑疯^_^  阅读(616)  评论(0编辑  收藏  举报
Free Site Counters