• 高兴,学习中量变到质变,ASP.NET 2.0 树型数据的显示源代码(原创,用递归)


        高兴,学习中量变到质变,ASP.NET 2.0 树型数据的显示源代码(原创,用递归)

    using System;
    using System.Data;
    using System.Data.SqlClient;
    using System.Configuration;
    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 _Default : System.Web.UI.Page 
    {
        
         SqlConnection conn 
    = new SqlConnection("workstation id="cyz";user id=sa;password=****;initial catalog=pubs;persist security info=false");
         DataSet ds 
    = new DataSet();
         
        
    protected void Page_Load(object sender, EventArgs e)
        
    {
            
    if (! (IsPostBack) )
            
    {            
                SqlDataAdapter da 
    = new SqlDataAdapter("select * from t_tree order by parentid", conn);
                da.Fill(ds, 
    "t_tree");
                InitTree0();    
                

            }

        }

        
    private void InitTree0() //根结点加载函数
        {
            TV.Nodes.Clear();  
    //TV为TreeView控件
            DataRow[] rows = ds.Tables["t_tree"].Select("parentid=0");
            
    for (int i = 0; i < rows.Length; i++)
            
    {
                TreeNode T_root 
    = new TreeNode();
                DataRow dr 
    = rows[i];
                T_root.Text 
    = dr["Descricpt"].ToString();
                TV.Nodes.Add(T_root);
                InitTree(T_root, dr[
    "id"].ToString());//根结点加载完后,开始调用加载子结点的函数,并开始递归。
            }

        }

        
    private void InitTree(TreeNode Nd,String Parent_id) //子树结点加载函数
        {
            DataRow[] rows 
    = ds.Tables["t_tree"].Select("parentid="+Parent_id );
            
    if (rows != null)
            
    {
                
    for (int i = 0; i < rows.Length;i++ )
                
    {
                    TreeNode Tnd 
    = new TreeNode();
                    DataRow dr
    =rows[i];
                    Tnd.Text 
    = dr["Descricpt"].ToString();
                    Nd.ChildNodes.Add(Tnd);
                    InitTree(Tnd,dr[
    "id"].ToString());//递归调用
                }

            }

        }

    }

     /*后注:
     一、T_Tree表生成脚本
         CREATE TABLE [dbo].[T_Tree] (
     [ID] [int] NOT NULL ,
     [ParentID] [int] NOT NULL ,
     [Descricpt] [varchar] (50) COLLATE Chinese_PRC_CI_AS NULL
        ) ON [PRIMARY]
        GO
     二、T_Tree表数据
         T_Tree表数据
        Parentid=0的为根结点
     三、执行后结果

         执行后结果
         
     */

  • 相关阅读:
    iOS-runtime-objc_setAssociatedObject(关联对象以及传值)
    iOS-runtime-根据类名推送到任意控制器,且实现属性传值
    程序员必须知道的git托管平台
    iOS第三方地图-百度地图中心点定位
    nested pop animation can result in corrupted navigation bar
    iOS KVC,KVO
    iOS第三方地图-百度地图定位的封装
    iOS第三方地图-百度地图常用功能使用(POI搜索,地理正反编码,定位,添加标注)
    MJRefresh插件引起的错误
    OC开发_Storyboard——AutoLayout
  • 原文地址:https://www.cnblogs.com/cyz1980/p/894550.html
Copyright © 2020-2023  润新知