文章详情

  • 游戏榜单
  • 软件榜单
关闭导航
热搜榜
热门下载
热门标签
php爱好者> php文档>TreeView数据绑定的方法

TreeView数据绑定的方法

时间:2010-08-30  来源:天亮说晚安

CREATE TABLE [dbo].[QuHua] (
 [ID] [int] IDENTITY (1, 1) NOT NULL ,--自增的标记列
 [NAME] [varchar] (50) COLLATE Chinese_PRC_CI_AS NOT NULL ,--行政区划的名称
 [ParentID] [int] NOT NULL --行政区划的上一级区划ID,最高级区划的上一级默认为0
) ON [PRIMARY]
GO

---插入测试数据
Insert Into dbo.QuHua (NAME,ParentID) Values ('北京',0)
Insert Into dbo.QuHua (NAME,ParentID) Values ('山东',0)
Insert Into dbo.QuHua (NAME,ParentID) Values ('河北',0)
Insert Into dbo.QuHua (NAME,ParentID) Values ('海淀',1)
Insert Into dbo.QuHua (NAME,ParentID) Values ('中关村',4)
Insert Into dbo.QuHua (NAME,ParentID) Values ('济宁',2)
Insert Into dbo.QuHua (NAME,ParentID) Values ('曲阜',6)
Insert Into dbo.QuHua (NAME,ParentID) Values ('济南',2)

       /**//// <summary>
       /// 根据递归查询结果动态生成TreeView
       /// 由于算法效率问题,不适合数据量的情况
       /// </summary>
        private void CreateTreeView()
        {
            string connetion = "Data Source=. ;Initial Catalog=MIS_New;Integrated Security=True";
            using (SqlConnection cn = new SqlConnection(connetion))
            {
                cn.Open();
                SqlDataAdapter da = new SqlDataAdapter("select * from QuHua", cn);
                DataTable dt = new DataTable();
                da.Fill(dt);
                //首先把第一级的行政区划取出生成TreeView的节点
                //作为递归运算的入口
                CreateTreeViewRecursive(treeView1.Nodes, dt, 0);
            }

        }
        /**//// <summary>
        /// 递归查询
        /// </summary>
        /// <param name="nodes">TreeView的节点集合</param>
        /// <param name="dataSource">数据源</param>
        /// <param name="parentid">上一级行政区划的标识码</param>
        private void CreateTreeViewRecursive(TreeNodeCollection nodes,DataTable dataSource,int parentid)
        {
            string filter;
            filter = string.Format("parentid={0}", parentid);
            DataRow[] drarr = dataSource.Select(filter);
            TreeNode node;
            foreach (DataRow dr in drarr)
            {
                node = new TreeNode();
                node.Text = (string)dr["name"];
                node.Tag = (int)dr["id"];
                nodes.Add(node);
                CreateTreeViewRecursive(node.Nodes,dataSource,(int)node.Tag);
            }

        }
排行榜 更多 +
开局一个小兵最新版

开局一个小兵最新版

休闲益智 下载
火柴人联盟2腾讯qq登录版

火柴人联盟2腾讯qq登录版

体育竞技 下载
tsuki odyssey游戏(月兔冒险奥德赛)

tsuki odyssey游戏(月兔冒险奥德赛)

休闲益智 下载