TreeView绑定无限级分类问题(数据库读数据)

问题描述

如何实现TreeView绑定无限级分类,求源码!

解决方案

解决方案二:
嵌套试试以前做DataList的时候,就是嵌套做到绑定父类下面子类的类似树状节点和TreeView原理是一样的
解决方案三:
privatevoidInitTree(TreeNodeCollectionNds,stringparentId){DataViewdv=newDataView();TreeNodetmpNd;stringintId;dv.Table=ds.Tables["tree"];dv.RowFilter="ParentId="+parentId;foreach(DataRowViewdrvindv){tmpNd=newTreeNode();tmpNd.ID=drv["id"].ToString();tmpNd.Text=drv["sortname"].ToString();tmpNd.NavigateUrl="InfoSort.aspx?info_id="+drv["id"].ToString();Nds.Add(tmpNd);intId=drv["ParentId"].ToString();InitTree(tmpNd.Nodes,tmpNd.ID);}}
解决方案四:
递归实现publicvoidBindCategoryTreeVew(TreeViewtreeView,boolisExpanded,stringsSelectedData){SqlConnectionconn=DB.conCreate();SqlDataAdaptersda=newSqlDataAdapter("select*fromProcduct_Type",conn);DataSetds=newDataSet();sda.Fill(ds);//将获取的数据转换为一个DataTableDataTabledt=ds.Tables[0];treeView.Nodes.Clear();//清空树的所有节点//获取与排序顺序中的筛选器以及指定的状态相匹配的所有System.Data.DataRow数组DataRow[]rowList=dt.Select("ParentID=0");foreach(DataRowrowinrowList){TreeNoderootNode=newTreeNode();rootNode.Text="<b>"+row["Name"].ToString()+"</b>";rootNode.Value=row["ID"].ToString();rootNode.Expanded=isExpanded;rootNode.Selected=true;rootNode.NavigateUrl="../bigclass.aspx?id="+rootNode.Value.ToString();treeView.Nodes.Add(rootNode);CreateChildNode(rootNode,dt,isExpanded,sSelectedData);}}//创建子节点privatevoidCreateChildNode(TreeNodeparentNode,DataTabledt,boolisExpanded,stringsSelecedData){//选择数据,添加排序表达市DataRow[]rowList=dt.Select("ParentID="+Convert.ToInt32(parentNode.Value));foreach(DataRowrowinrowList){//创建一个新的节点了TreeNodenode=newTreeNode();node.Text=row["Name"].ToString();node.Value=row["ID"].ToString();node.Expanded=isExpanded;//node.SelectAction=TreeNodeSelectAction.None;node.NavigateUrl="../smallclass.aspx?id="+node.Value.ToString();if(node.Value==sSelecedData){node.Selected=true;}parentNode.ChildNodes.Add(node);//递归调用,创建其他节点CreateChildNode(node,dt,isExpanded,sSelecedData);}}

解决方案五:
递归很慢啦.用dataset的relation方法比较好.

时间: 2024-07-28 23:48:09

TreeView绑定无限级分类问题(数据库读数据)的相关文章

php无限级分类(带数据库)(1/2)

 代码如下 复制代码 <!doctype html public "-//w3c//dtd xhtml 1.0 transitional//en" "http://www.w3.org/tr/xhtml1/dtd/xhtml1-transitional.dtd"> <html xmlns="http://www.111cn.net/1999/xhtml"> <head> <meta http-equiv=

php实现无限级分类(递归方法)_php技巧

相信很多学php的很多小伙伴都会尝试做一个网上商城作为提升自己技术的一种途径.各种对商品分类,商品名之类的操作应该是得心应手,那么就可以尝试下无限级分类列表的制作了. 到网上一搜php无限极分类,很多,但好多都是一个,并且,写的很乱,代码很多,让我们怎么学习嘛,那些都不靠谱,还是自己捣鼓捣鼓无限极分类了. 什么是无限级分类? 无限级分类是一种分类技巧,例如部门组织,文章分类,学科分类等常用到无限级分类,将其简单理解成分类就好了.其实我们仔细想一下,生活中的分类简直太多了,衣服可以分为男装和女装,

添加根节点 循环数据-TreeView控件,把数据库的内容,循环绑定到一个写死的根节点上

问题描述 TreeView控件,把数据库的内容,循环绑定到一个写死的根节点上 我用的递归方法绑定数据,代码是这样的:private void BindDate(int Pid TreeNode PNode) { DataSet ds = cBll.GetList(""""); DataTable dt = ds.Tables[0]; if (dt.Rows.Count > 0) { DataView dv = new DataView(dt);//过滤Pare

treeview绑定到了数据库,也成功显示出了数据,只是显示不完全,只能显示出前几个,不知道这是为什么?

问题描述 在数据库中parent_id为"0"的有10个,但是运行时却只能显示前5个,不知道为什么呢?//protectedvoidPage_Load(objectsender,EventArgse){if(!IsPostBack){this.InitReportMenu();}}//treeview绑定代码:privatevoidInitReportMenu(){try{stringstrCD="0";DataSetds=this.GetDateFromDB(st

treeview绑定到数据库,我如何得到选定节点的ID值

问题描述 treeview绑定到数据库,我如何得到选定节点的ID值. 解决方案 解决方案二:ding解决方案三:l解决方案四:treeview加载节点时treeview1.nodes.add("Id","Text");//根节点信息treeview_afterselect事件里,{messsagebox.show(e.nodes.name);//显示选择节点的key}解决方案五:TreeView1.SelectedNode.Value解决方案六:还是不对解决方案七:

无限级分类(非递归算法/存储过程版/GUID主键)完整数据库示例_(2)插入记录

-- ======================================== -- Author:  <杨俊明,jimmy.yang@cntvs.com> -- Description: <无限级分类插入记录> -- Return     : 成功返回0,重名返回1 -- ======================================== Create PROCEDURE [dbo].[up_Class_InsertEx]  @newId uniqueide

谁做过 在webform中treeview绑定xml实现增删改查

问题描述 我想在webform中treeview绑定xml实现点击某一个接点弹出删除,修改,添加的功能,实现无级分类.我最开始用的是数据库+gridview,但是我觉得这样会增加数据库的负担,不好.我对xml不了解.还请大侠们帮帮忙啊!最好发源代码daichun39@126.com,谢谢! 解决方案 解决方案二:http://www.cnblogs.com/YamatAmain/archive/2011/08/31/2160375.html解决方案三:不要沉水啊解决方案四:asp.netwebf

Asp.net treeview实现无限级树实现代码_实用技巧

先看看效果图: 先看看数据库表的设计,数据表主要包括ID,Name,ParentID这三项,其中ID是主键,ParentID对应节点的父节点: 方法一:用递归遍历数据,并将节点逐个添加到treeview中去. 1.先进行数据库连接和数据的读取,并将根节点先添加进treeview中,并利用递归getTreeView()实现数据的遍历和添加: 复制代码 代码如下: protected void Page_Load(object sender, EventArgs e) { if (!Page.IsP

琥珀无限级分类联动菜单AJAX版

ajax|菜单|联动菜单 我做好琥珀无限级分类联动菜单Javascript版后,在蓝色理想和CSDN上发表了一下,梅花雪兄在CSDN上提出了效率不足的问题,我也认识到了这一点,本打算项目完工后再进行完善,但一时技痒,便在网上寻找了一下资料,最后做出了此AJAX版无限级分类联动菜单.因时间匆忙,做得比较粗糙,但已利用AJAX技术,实现无限级联动,待过一段时间再完善此版本.希望能给大家提供一些帮助,有好的建议或bug可在此帖后回复或浏览http://www.51ajax.com/bbs/发帖.运行环