• DropDownList分层显示!


    public static void BindDropFatherItem( DropDownList DropDownList )
        
    {
            DropDownList.Items.Clear();
            
    string strSql = "select * from Department";
            DataTable dt 
    = DB.GetTable( strSql );//获取所有节点

            
    //判断跟节点数量
            string strSql1 = "select count(*) from Department where  ParentID = 0";
            
    int ParentCount = Convert.ToInt32( DB.ExecuteScalar( strSql1 ) );

            
    if( dt.Rows.Count > 0 )
            
    {
                
    foreach( DataRow dr in dt.Rows )
                
    {
                    
    if( ParentCount == 0 )
                    
    {
                        
    if( dr[ "ParentID" ].ToString().Trim() == "0" )//绑定根节点   
                        {
                            DropDownList.Items.Insert( 
    0"请选择" );
                            DropDownList.Items.Add( 
    new ListItem( dr[ "DepName" ].ToString(), dr[ "DepID" ].ToString() ) );
                            BindDropChildItem( DropDownList, dt, dr[ 
    "DepID" ].ToString(), 1 );
                        }

                    }

                    
    else
                    
    {
                        
    if( dr[ "ParentID" ].ToString().Trim() == "0" )//绑定根节点   
                        {                        
                            DropDownList.Items.Add( 
    new ListItem( dr[ "DepName" ].ToString(), dr[ "DepID" ].ToString() ) );
                            BindDropChildItem( DropDownList, dt, dr[ 
    "DepID" ].ToString(), 1 );
                        }

                    }

                    
                }

            }

        }

    public static void BindDropChildItem( DropDownList DropDownList, DataTable dt, string id, int length )
        
    {
            DataRow[] rows 
    = dt.Select( "ParentID='" + id + "'""DepID  ASC" );//取出id子节点进行绑定   
            forint i = 0; i < rows.Length; i++ )
            
    {
                DropDownList.Items.Add( 
    new ListItem( Department.SpaceLength( length ) + rows[ i ][ "DepName" ].ToString(), rows[ i ][ "DepID" ].ToString() ) );
                BindDropChildItem( DropDownList, dt, rows[ i ][ 
    "DepID" ].ToString(), length + 1 );//空白数目加1   
            }

        }


        
    //   子节点前面的空白数 
        public static string SpaceLength( int i )
        
    {
            
    string space = "";
            
    forint j = 0; j < i; j++ )
            
    {
                space 
    += "------";//分层显示字符;   
            }

            
    return space;
        }
        
  • 相关阅读:
    [TJOI2007]小朋友
    弦图小结
    Bzoj2141: 排队
    [SYZOI Round1] 滑稽♂树
    Bzoj2244: [SDOI2011]拦截导弹
    Bzoj1492: [NOI2007]货币兑换Cash(不单调的斜率优化)
    Bzoj1495: [NOI2006]网络收费
    Bzoj1496: [NOI2006]千年虫
    Bzoj1498&1416: [NOI2006]神奇的口袋
    Bzoj4553: [Tjoi2016&Heoi2016]序列
  • 原文地址:https://www.cnblogs.com/Magicam/p/1215616.html
Copyright © 2020-2023  润新知