如果我数据库某张表内只有三行记录
id //
name //
parentid //父级ID,要求是id中存在的数据请问有没有一种算法或程序做个超阶级的TreeView出来
id //
name //
parentid //父级ID,要求是id中存在的数据请问有没有一种算法或程序做个超阶级的TreeView出来
解决方案 »
- 问个简单的JS问题
- 日期转换的问题!!!!!!!!!!!!!!!!!!!!求助
- C#如何在 运行时生成的PictureBox中 显示图标文件(.ico) 快被搞死了!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
- Have you heard of SOME?
- 多行文本框,带滚动条,怎么能获取当前文本框可见的值(不包括看不见的)
- 为什么我无法声明System.Windows.Forms命名空间
- 如何判断一个表的主键是否存在?如何取主键字段名称及字段类型,写SQL语句 急急!!在线
- 请问在VC#里怎么把listbox设置为一行显示,请指教
- 资源文件问题,求助斑竹
- 请CForce进来拿分
- 新手问题:寻找一个winform的合适控件?
- 如何让winform窗体创建在某个窗体中的Panel控件里?
大概意思
定义一个类或struct
class node
{
string id
string name
string parentid
}忽略大小写
treeview 为TreeView对象HashTable parentlist="select * from table where parentid==null"//选择所有父结点为空的记录//////...............................其他程序
private TreeNode tn=new TreeNode("root");
private void loopAdd(TreeNode temptn,HashTable ht)//把parentlist负值给ht
{
foreach(IDictionary obj in ht)
{
TreeNode newNode=new TreeNode();//生成节点
tn.Nodes.Add(newNode);//加为tn的子节点
HashTable tempHT=new HashTable();//
//从数据库中查询"select * from table where parentid='"+obj.id+"'"并生成node对象存入tempHT中
if(tempHT.count>0)//有子节点
{ loopAdd(newNode,tempHT); }
}
}
调用loopAdd后
this.treeview.Nodes.add(tn);