Asp.net 无限级分类实例代码

在网上找了很久也没有找到例子,没办法了,想偷懒也偷不成了,还是自己老老实实的写一个吧。不多废话,下面请看我做的详细方法。

1。无限级分类肯定要数据库支持啦,用户可以动态添加他们的分类嘛,下面是数据库的结构:

数据库主要有三个字段,这是最基本的了。第一个是主键,第二个是分类的名称了,第三个是父级目录id号。

2。成品的效果图:(大家最关心的是不是这个啊?看看是什么样子再看程序怎么吧)

看!!就长这个模样啦,这个层次关系就是上面那个数据所显示的结果。怎么样?还行吧。。。

3。最后就是提供程序咯,程序其实就是一个递归算法。


复制代码 代码如下:

private void GetArticleCategory(string pid)
{
    SqlConnection conn = new SqlConnection("server=.;database=test;uid=sa;pwd=;");
    string sql = "select Articlesgroup_id,Groupname from Articlesgroup where Articlesgroup_parent_id=@pid order by Groupname";
    SqlCommand cmd = new SqlCommand(sql, conn);
    SqlParameter Pid = new SqlParameter("@pid", SqlDbType.Int);
    Pid.Value = pid;
    cmd.Parameters.Add(Pid);
    conn.Open();
    SqlDataReader sdr = cmd.ExecuteReader();
    while (sdr.Read())
    { 
        this.DropDownList1.Items.Add(new ListItem(toadd + " " + sdr[1].ToString(), sdr[0].ToString()));
        toadd += "─┴";
        this.GetArticleCategory(sdr[0].ToString());
        toadd = toadd.Substring(0, toadd.Length - 2);  //开始这里没有处理好,层次关系显示不出来  :)
    }
    sdr.Close();
    conn.Close();
}

调用方法:在Page_Load里调用 


复制代码 代码如下:

protected void Page_Load(object sender, EventArgs e) 

    this.keyword.Attributes.Add("onfocus","if( this.value=='key key key') {this.value='' };"); 
    if (!Page.IsPostBack) 
    { 
        this.GetArticleCategory("0"); 
    } 
    this.DropDownList1.Items.Insert(0, new ListItem("Search All", "all")); 
}

在类里边还要定义一个变量 


复制代码 代码如下:

private string toadd = "├";

时间: 2008-07-02

asp.net 动态生成表格

复制代码 代码如下: using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.Web.UI; using System.Web.UI.WebControls; using System.Data; using System.Text; public partial class Default2 : System.Web.UI.Page { // 步骤 //

asp.net下用Aspose.Words for .NET动态生成word文档中的数据表格的方法

1.概述 最近项目中有一个这样的需求:导出word 文档,要求这个文档的格式不是固定的,用户可以随便的调整,导出内容中的数据表格列是动态的,例如要求导出姓名和性别,你就要导出这两列的数据,而且这个文档不是导出来之后再调整而是导出来后已经是调整过了的.看到这里,您也许马上想到用模板导出!而且.NET中自带有这个组件:Microsoft.Office.Interop.Word,暂且可以满足需求吧.但这个组件也是有局限性的,例如客户端必须装 office组件,而且编码复杂度高.最麻烦的需求是后面那个-

asp.net 无限分类第1/3页

1.递归函数 //  '递归遍历自建目录树============================================================================= private void ShowDir(string sZml,string sIndex)   {    System.Data.SqlClient.SqlConnection sqlCon=new System.Data.SqlClient.SqlConnection(connectionStr

asp.net dataview做无限极分类的又一用法

数据库结构: classidid 主键 jobClassName 对应的类型名称 ClassName 对应的父类的id 通常做法: 复制代码 代码如下: private void Display(string parentid, String space) { DataTable dt; String strSQL; strSQL = "Select * From Tree Where ParentID =" + parentid + " Order By ClassID D

asp.net中Table生成Excel表格的方法

本文实例讲述了asp.net中Table生成Excel表格的方法.分享给大家供大家参考. 具体实现方法如下: 复制代码 代码如下: <!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/19

Asp.Net实现无限分类生成表格的方法(后台自定义输出table)

本文实例讲述了Asp.Net实现无限分类生成表格的方法.分享给大家供大家参考,具体如下: 数据结构 monitor_group monitor_grp_id      monitor_grp_name     parent_id       level               childCount       orderby [int,自动递增]           [nvarchar,not null]      [int,not null]  [int,not null]   [int,

php递归实现无限分类生成下拉列表的函数

复制代码 代码如下: /*------------------ */ //– 递归实现无限分类生成下拉列表函数 //– $tpl->assign('sort_list',createSortOptions ()); //– $tpl->assign('sort_list',createSortOptions ($sort_id)); /*------------------ */ function createSortOptions ($selected=0,$parent_id=0,$n=-

ASP.NET实现上传图片并生成缩略图的方法

本文实例讲述了ASP.NET实现上传图片并生成缩略图的方法.分享给大家供大家参考,具体如下: protected void bt_upload_Click(object sender, EventArgs e) { //检查上传文件的格式是否有效 if (this.UploadFile.PostedFile.ContentType.ToLower().IndexOf("image") < 0) { Response.Write("上传图片格式无效!"); re

php简单实现无限分类树形列表的方法

本文实例讲述了php简单实现无限分类树形列表的方法.分享给大家供大家参考.具体如下: $items = array( 1 => array('id' => 1, 'pid' => 0, 'name' => '江西省'), 2 => array('id' => 2, 'pid' => 0, 'name' => '黑龙江省'), 3 => array('id' => 3, 'pid' => 1, 'name' => '南昌市'), 4 =

C#实现动态生成表格的方法

本文以实例形式展现了C#实现动态生成表格的方法,分享给大家供大家参考之用.具体方法如下: public string CreateTable() { StringBuilder sb = new StringBuilder(""); int row = 1;//行数 if (true )//是否有数据 { int nRowCount = 10;//所有条数 row = (int)Math.Ceiling(nRowCount / 5.0);//5.0表示每行有多少条数据 int colN

layui的布局和表格的渲染以及动态生成表格的方法

整体的效果: 一.首先百度搜索layui的地址,然后下载layui的压缩包,,将压缩包的文件解压缩,然后将解压缩后的文件复制到你的编译器上: 二.建立一个html文件,引入layui.css 和 layui.js两个文件,一定要将地址写对,css和js要一起引用: 三.将整个页面分为三部分body标签中要引用的class为class="layui-layout-body" 3.1.头部部分:用一个大的div包裹,class="layui-layout layui-layout

java在pdf中生成表格的方法

1.目标 在pdf中生成一个可变表头的表格,并向其中填充数据.通过泛型动态的生成表头,通过反射动态获取实体类(我这里是User)的get方法动态获得数据,从而达到动态生成表格. 每天生成一个文件夹存储生成的pdf文件(文件夹的命名是年月日时间戳),如:20151110 生成的文件可能在毫秒级别,故文件的命名规则是"到毫秒的时间戳-uuid",如:20151110100245690-ece540e5-7737-4ab7-b2d6-87bc23917c8c.pdf 通过读取properti

jquery实现自定义树形表格的方法【自定义树形结构table】

本文实例讲述了jquery实现自定义树形表格的方法.分享给大家供大家参考,具体如下: 话不多说,直接上代码(本代码仅提供思路): function createTables(data, t, p) { $("#datatable" + t + ' tbody').empty(); var count = data.length; var html = ''; if (count > 0) { for (var i = 0; i < count; i++) { var btn

JS控制网页动态生成任意行列数表格的方法

本文实例讲述了JS控制网页动态生成任意行列数表格的方法.分享给大家供大家参考.具体分析如下: 这是一个非常简单使用的JS在线生成表格的代码效果 通过JS功能代码,直接输入行数和列数就可以自动生成你需要的表格 当然你也可以扩展JS代码实现生成文字的各种形式 复制代码 代码如下: <html> <head> <title>Js动态生成表格</title> <style type="text/css"> table{font-siz