上文我们提到了如何用treeview读取和表示表中无限级分类的数据.
2)添加新节点,首先选择父节点,范例代码如下:
//得到父节点的typeid
int typeid = Convert.ToInt32(Request["pid"]);
//得到父节点的所有字段的值
SqlDataReader dr = man.gettypeaMess(typeid);
while (dr.Read())
}
其中man.gettypeaMess(typeid)方法是我定义的根据父节点typeID得到父节点所有字段的值包括SPATH,CHILDRENID等.update()和upechildid()方法分别是根据父节点SPATH和CHILDRENID得到新节点的SPATH和父节点要增加一个child的id,然后更新对应的数据库代码如下:
![]()
}
3)删除节点
做到删除 节点我们需要的是将它的子节点一并删除,看似很难实现,但我们有了spath实现时就十分简单了首先当然得得到所要删除节点的typeid,然后代码如下:
public void deletetype(string typeid)
}
在这里最重要的就是CHARINDEX了,不明白就去查查吧,我这就不详述了.
其他的操作就变的十分简单了,有的与上面的大同小异,这个算法不是很难,但是基本上可以实现无限级分类的要求.
相关文章: