zoukankan      html  css  js  c++  java
  • 在DropDownList中显示树形结构

        

        在前面做完无限级分类之后,就需要在管理员添加试题了,想了想第一想法就是用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
  • 相关阅读:
    Python:给你们安排一波VIP音乐,看我是如何不充会员也能下载的
    最详细Python打包exe教程,并修改图标,30秒搞定!
    Python:20行代码爬取高质量帅哥美女视频,让你一次看个够
    【Python爬虫】招聘网站实战合集第一弹:爬取前程无忧
    Python爬虫:爬点大家都喜欢的东西,比如美女!每天保持心情愉悦!
    Python吃喝玩乐:爬取全城按摩门店,看看有没有你想去的!
    明天就是1024了,Python前来报到!爬取全网M子图片!
    周末福利!用Python爬取美团美食信息,吃货们走起来!
    Python小工具:据说这是搜索文件最快的工具!没有之一!一起感受下......
    简单实现一个流程图(箭头流程图)
  • 原文地址:https://www.cnblogs.com/xbf321/p/895963.html
Copyright © 2011-2022 走看看