protected void GetTypelist()
{
//分类id=0表示根分类,最上级分类
GetTypeByparent("0",0);
}
protected void GetTypeByparent(string parenttypeid,int depth)
{
string padsapce = " ";
bool ishavesub = false;
DataSet ds = new DataSet();
Gametita.BLL.ArticleType bll = new Gametita.BLL.ArticleType();
ds = bll.GetList(1000, "parenttypeid='" + parenttypeid + "'", " Typeid desc");
if (ds != null)
{
if (ds.Tables.Count > 0)
{
DataTable dt = ds.Tables[0];
for (int i = 0; i < dt.Rows.Count; i++)
{
string text = new string('*',depth*8);
TypeList += text + dt.Rows[i]["typename"].ToString() + "****<a href='articletype.aspx?parenttypeid=" + dt.Rows[i]["TypeID"].ToString() + "'>添加子分类</a>";
ishavesub = GetChildType(dt.Rows[i]["typeid"].ToString());
if (ishavesub)
{
TypeList += "<br>";
}
else
{
//没有子分类则可以删除
TypeList += "****<a href='articletypedel.aspx?typeid=" + dt.Rows[i]["TypeID"].ToString() + "' οnclick='javascript:confirm(真要删除该分类)'>删除分类</a><br>";
}
TypeList = TypeList.Replace("*", " ");
GetTypeByparent(dt.Rows[i]["typeid"].ToString(), depth + 1);
}
dt.Dispose();
dt = null;
}
}
ds = null;
}
/// <summary>
/// 检查是否有子分类
/// </summary>
/// <param name="parenttypeid"></param>
/// <returns></returns>
protected bool GetChildType(string parenttypeid)
{
bool ishave = false;
DataSet ds = new DataSet();
Gametita.BLL.ArticleType bll = new Gametita.BLL.ArticleType();
ds = bll.GetList(1, "parenttypeid='" + parenttypeid + "'", " Typeid desc");
if (ds != null)
{
if (ds.Tables.Count > 0)
{
DataTable dt = ds.Tables[0];
if (dt.Rows.Count > 0)
{
ishave = true;
}
dt.Dispose();
dt = null;
}
}
return ishave; }
上面是列表树形分类的代码,前台输出Typelist即可,添加,删除的方法就很简单了。。。
C#实现的无限级分类类树形管理
原创
©著作权归作者所有:来自51CTO博客作者jack2022的原创作品,请联系作者获取转载授权,否则将追究法律责任
提问和评论都可以,用心的回复会被更多人看到
评论
发布评论
相关文章
-
PHP递归实现无限级分类
在一些复杂的系统中,要求对信息栏目进行无限级的分类,以增强系统的灵活性。
mysql 数组 无限级分类 -
php递归实现无限级分类树
一.数据库设计1234567891011121314151617181920212
php递归 ico html php 三国