在DropDownList里显示多级分类

protected void ddlBind()
        {
            DataTable dt = new DataTable();
            ddlCategoryId.DataSource = getList("0", dt);
            ddlCategoryId.DataTextField = "title";
            ddlCategoryId.DataValueField = "id";
            ddlCategoryId.DataBind();
            ddlCategoryId.Items.Insert(0, new ListItem("请选择类别", "-1"));
        }

        public DataTable getList(string pid, DataTable list)
        {
            BLL.article_category bll = new BLL.article_category();
            DataTable dt;
            if (pid == "0")
            {
                dt = bll.GetList("parent_id=‘0‘").Tables[0];
                list = dt.Clone();
            }
            else
            {
                dt = bll.GetList(" parent_id=‘" + pid + "‘").Tables[0];
            }
            if (dt.Rows.Count > 0)
            {
                foreach (DataRow row in dt.Rows)
                {
                    int layer = Convert.ToInt32(row["class_layer"].ToString());//深度
                    string Title = row["title"].ToString().Trim();
                    if (layer > 1)
                    {
                        Title = "├ " + Title;
                        Title = StringOfChar(layer - 1, " ") + Title;
                    }
                    row["title"] = Title;
                    list.ImportRow(row);
                    getList(row["id"].ToString(), list);
                }
            }
            return list;
        }
/// <summary>
        /// 生成指定长度的字符串,即生成strLong个str字符串
        /// </summary>
        /// <param name="strLong">生成的长度</param>
        /// <param name="str">以str生成字符串</param>
        /// <returns></returns>
        public static string StringOfChar(int strLong, string str)
        {
            string ReturnStr = "";
            for (int i = 0; i < strLong; i++)
            {
                ReturnStr += str;
            }

            return ReturnStr;
        }

/// <summary>
        /// 获得数据列表
        /// </summary>
        public DataSet GetList(string strWhere)
        {
            StringBuilder strSql=new StringBuilder();
            strSql.Append("select * ");
            strSql.Append(" FROM article_category");
            if(strWhere.Trim()!="")
            {
                strSql.Append(" where "+strWhere);
            }
            return OracleHelper.ExecuteDataset(strSql.ToString());
        }

时间: 2024-08-04 08:03:13

在DropDownList里显示多级分类的相关文章

Select显示多级分类列表

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <title>在下拉列表中显示的多级树形菜单</t

EcShop首页显示特定分类的精品新品热销特价等推荐商品

EcShop首页显示特定分类的精品新品热销特价等推荐商品 很多大型的B2C商城都有特定分类专区,该分类下的[分类名称].[推荐子分类 或 推荐品牌].[大图片/推荐单品].[推荐商品].[促销商品].[推荐商品/热销排行]等,这是基于SEO及用户体验来开发的.ECSHOP虽然有类似的功能,并且推荐商品还分[精品].[新品].[热销]三类,但灵活性不是很好,首页第一次加载的时候,无论是[精品].[新品]还是[热销]都不能指定分类,只能不分类别地显示所有.即使是在分类的设置里面有[设置为首页推荐:

SQLite中使用CTE巧解多级分类的级联查询

在最近的活字格项目中使用ActiveReports报表设计器设计一个报表模板时,遇到一个多级分类的难题:需要将某个部门所有销售及下属部门的销售金额汇总,因为下属级别的层次不确定,所以靠拼接子查询的方式显然是不能满足要求,经过一番实验,利用了CTE(Common Table Expression)很轻松解决了这个问题! 举例:有如下的部门表 以及员工表 如果想查询所有西北区的员工(包含西北.西安.兰州),如下图所示: 如何用CTE的方式实现呢? Talk is cheap. Show me the

EXCEL中多级分类汇总空白字段填充

使用场景,多级分类汇总后,在汇总的字段中显示空白,这样对我们直接取值做表带来十分不更(假像有5000条记录,1000条汇总项) 相关技术,INDIRECT函数,单元格定位功能. 在数据区域外任意一个单元格编辑好INDIRECT函数,=INDIRECT(ADDRESS(ROW()-1,COLUMN(),4)),如下图 先选择好上面编辑好函数的单元格,并复制,接下来选择好需要填充的空白字段,再时行定位操作,如下图          选择好空白单元格后,直接按下ctrl+v,如下图完工. 效果图

使用PopupWindow + 2个ListView实现仿 美团/淘宝/百度糯米 多级分类菜单效果

本例要实现的是诸如美团/淘宝/百度糯米 多级分类菜单效果.当分类数量非常多时可以考虑采用两级分类,而诸如美团这种表现方式是一个不错的选择. 首先上效果图:      主要代码: 1. PopupWindow初始化过程: popupWindow = new PopupWindow(this); View view = LayoutInflater.from(this).inflate(R.layout.popup_layout, null); leftLV = (ListView) view.fi

让dwz 在td里显示图片

让dwz 在td里显示图片 <[email protected]{foreach from = $list item = element}@> <tr target="gid" rel="<[email protected]{$element.id}@>" > <td><[email protected]{$element.id}@></td> <td><[email prot

wordpress 页面显示指定分类文章

首页显示指定分类备份主题文件夹中的 index.php 文件,修改index.php找到如下一行代码:<?php if (have_posts()) : ?>在上面这行代码的前面加上:<?php query_posts('showposts=10 & cat=1');?>其中 1 为分类 id,10为文章篇数.想在首页中显示指定分类文章也可参考如下操作 // 只显示分类 14 下的文章 <?php while( have_posts()): the_post();up

定制progrebar-如何让控件在2.x系统里显示holo风格(4.x系统下的控件风格)

定制progrebar,这里以progrebar(small)为例,使之在2.x系统里显示holo风格. 1)找到系统文件styles.xml 和themes.xml. 在目录adt-bundle\sdk\platforms\android-19\data\res\values下找到styles.xml和  themes.xml,用Uedit打开: 2) 在系统的styles.xml中搜索控件名称progrebar,找到 "  <style name="Widget.Holo.P

(转)smarty实现多级分类的方法

--http://www.aspku.com/kaifa/php/44679.html 这篇文章主要介绍了smarty实现多级分类的方法,涉及循环读取的技巧,非常具有实用价值,需要的朋友可以参考下 本文实例讲述了smarty实现多级分类的方法.分享给大家供大家参考.具体分析如下: 这里简单的介绍一下利用php smarty 多级分类读出与循环方法,单循环很简单,但是多级就要复杂一点,下面我们来看看,感兴趣的朋友可以看来一下: 复制代码代码如下: <?php$result=mysql_query(