在DropDownList中显示树形结构

转载 2007年10月05日 18:42:00

http://blog.csdn.net/xbf321/

在前面做完无限级分类之后,就需要在管理员添加试题了,想了想第一想法就是用TreeView,可是我用的是Vs2003,树型控件是第三方的,也是不好用,管理员录题的时候,选择也是问题,所以第二想法就是在DropDownList中显示树型结构,可是我在原先听说在DropDownLIst显示树形结构,很麻烦,但是由于我在前面用DataGrid显示的时候,那个树形的是自己处理的,这就给我一点点想法,那我可不可以,在我给DropDownList榜定的时候,那个数据源就已经把树形列出来的,那么我绑定的时候那个DataTextValue不就成了树形的吗 ,可是怎么在能在DropDownList绑定的时候的那个数据源已经成树形结构了呢,在网上看看了,突然看到有用临时表的,真是眼前一亮,我给DropDownList绑定临时表多好阿,那个临时表已经成了树形结构了,结合我在前面用DataGrid显示树形的结构,所以就就自己研究了一个在DropDownList中显示树型结构的方法(我现在还不知道别人是不是也用这种做法的^ _ ^), 

首先创建临时表

// Power By 兴百放
//Create Time 2007-5-23
#region
 创建临时表
        
public static DataTable CreateTable()
        {
            DataTable dt 
= new DataTable();
            dt.Columns.Add(
new DataColumn("Column_Id",typeof(int)));
            dt.Columns.Add(
new DataColumn("Column_Name",typeof(string)));
            DataRow dr ;
            
using(SqlDataReader dataReader = SqlHelper.ExecuteReader(SqlHelper.ConnectionStringLocalTransaction,CommandType.StoredProcedure,"sp_Column_List"))
            {
                
while(dataReader.Read())
                {
                    dr 
= dt.NewRow();
                    dr[
0= Convert.ToInt32(dataReader["Column_Id"]);
                    
string columnName = dataReader["Column_Name"].ToString();
                    
string columnTemp = "";
                    
int columnDepth = Convert.ToInt32(dataReader["Column_Depth"]);
                    
if(columnDepth>1)
                    {
                        
for(int i = 1;i<columnDepth;i++)
                        {
                            columnTemp 
+="|--";
                        }
                        columnTemp
+="|-";
                    }
                    dr[
1= columnTemp+columnName ;
                    dt.Rows.Add(dr);
                }
                
            }

            
return dt;

        }
        
#endregion
// Power By 兴百放
//Create Time 2007-5-23

 

上面用到了我前几节写的 ’用存储过程实现无限级分类‘的存储过程sp_Column_List

下面就是DropDownList绑定了

// Power By 兴百放
//Create Time 2007-5-23

#region
  得到分类信息
        
public static void GetCateInfo(System.Web.UI.WebControls.DataGrid dg)
        {
            dg.DataSource
= SqlHelper.ExecuteDataset(SqlHelper.ConnectionStringLocalTransaction,CommandType.StoredProcedure,"sp_Column_List");
            dg.DataBind();
        }
        
public static void GetCateInfo(System.Web.UI.WebControls.DropDownList dl)
        {
            dl.DataSource
= Exam.Class.DAL.Category.CreateTable();
            dl.DataTextField
="Column_Name";
            dl.DataValueField 
= "Column_Id";
            dl.DataBind();
        }
        
#endregion
// Power By 兴百放
//Create Time 2007-5-23
 

相关文章推荐

树形结构显示

  • 2014年05月05日 10:02
  • 16KB
  • 下载

Octotree树形结构显示Github项目

  • 2017年08月14日 18:57
  • 199KB
  • 下载

Python显示目录的树形结构

转自http://blog.chinaunix.net/uid-21374062-id-5198995.html Python显示目录的树形结构 # -*- coding: utf-8 -*- ''...

C#递归算法-遍历XML文件,以UL列表显示树形结构目录

最近,公司有个新项目-用WEB做一个财报阅读器供客户使用。项目经理用Gmail给组员下发需求文档,我一看,功能需求很详细,但UI设计却只有支言片语。 于是我回复询问下UI需求,得到的回复是:UI设计...

js显示树形结构,div+css+js

复制的: tree .node ul{ margin-left:20px; } .node .node{ display:none; } .node .tree...
  • jcroad
  • jcroad
  • 2016年07月23日 17:32
  • 958

OA项目实战学习(8)——配置权限的树形结构显示

改模板使每个权限换行显示: 找到标签所使用的模板 将模板复制到自己的工程目录并修改 运行效果: 直接写HTML实现换行: setPrivilegeUI.jsp ...
  • btt2013
  • btt2013
  • 2016年04月15日 15:36
  • 447

第三方控件DEV中的TreeList如何显示树形结构

private void reflishcategory()               //刷新treelist使用 {             TreeListNode node = null...

部门树形结构,使用Treeview控件显示部门

部门树形结构。设计张部门表用于存储部门编码、名称、上级部门id,使用Treeview控件显示部门树,并实现部门增删改、移动、折叠等功能。特别提示,部门有层级关系,可用donetbar的adtree控件...

ReactJs实现树形结构的数据显示的组件

1、该组件树形显示数据 2、组件中数据的请求方式为fetch方式 3、点击对应的数据前面的小三角,fetch请求改数据下对应的子数据,并展开该节点。 4、将该组件的js、less文件放到kpiT...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:在DropDownList中显示树形结构
举报原因:
原因补充:

(最多只允许输入30个字)