ASP.NET基于JQUERY的高性能的TreeView

根据 假正经哥哥 的博客整理,我第一次使用的另外的TREEVIEW,可是 做出来的效果 太卡,不知道什么原因。这次用的假正经哥哥的这篇文章。

下面贴上完整的代码,我走了很多弯路,原因就是看了回复中朋友们的代码,现在想起来其实不用那么费事吧。

引用

代码
< script src = " js/jquery-1.4.2.min.js "  type = " text/javascript " ></ script >
    
< script src = " js/jquery.mytree.js "  type = " text/javascript " ></ script >
    
< link href = " second.css "  rel = " stylesheet "  type = " text/css "   />
    <script type="text/javascript">
       $(function(){
        var o = { showcheck: true};
                    o.data =<%=treeNodes %>;
                   
                    $("#tree").treeview(o);
       })
    </script>

 

后台

 

代码
  public   string  GetFirJson()
    {
        
string  mystr  =   " [ " ;
        DataTable dt 
=  DBUtility.db.ExecuteTable( " select * from class where parientid=0 " );
        
int  a  =  dt.Rows.Count;
        
for  ( int  i  =   0 ; i  <=  dt.Rows.Count  -   1 ; i ++ )
        {

            mystr 
+=  GetOtherJson(Convert.ToInt32(dt.Rows[i][ " classid " ].ToString()))  +   " , " ;
        }
        mystr  =  mystr.Substring( 0 , mystr.Length  -   1 );
        mystr 
+=   " ] " ;
        mystr 
=  mystr.Replace( " ' " " \ "" );
         return  mystr;

    }
    
// 递归
     private   string  GetOtherJson( int  pid)
    {
        DataTable dt 
=  DBUtility.db.ExecuteTable( " select * from class where classid= "   +  pid);
        
string  strjson  =   "" ;
        
bool  haschild  =  IsHasChild(pid);
        strjson 
=   " { " ;
        strjson 
+=   " 'id':' "   +  pid  +   " ', " ;
        strjson 
+=   " 'text':' "   +  dt.Rows[ 0 ][ " classname " ].ToString()  +   " ', " ;
        strjson 
+=   " 'value':' "   +  dt.Rows[ 0 ][ " classid " ].ToString()  +   " ', " ;
        strjson 
+=   "  'showcheck':true, " ;
        strjson 
+=   "  'complete':true, " ;
        strjson  +=   " 'checktate':0, " ;
        strjson 
+=   " 'hasChildren': "   +  haschild.ToString().ToLower()  +   " , " ;
        strjson 
+=   " 'ChildNodes': " ;

        
if  ( ! IsHasChild(pid))
        {
            strjson 
+=   " null} " ;
        }
        
else
        {
            strjson 
+=   " [ " ;
            DataTable mydt 
=  DBUtility.db.ExecuteTable( " select * from class where parientid= "   +  pid);
            
for  ( int  i  =   0 ; i  <=  mydt.Rows.Count  -   1 ; i ++ )
            {
                strjson 
+=  GetOtherJson(Convert.ToInt32(mydt.Rows[i][ " classid " ].ToString()))  +   " , " ;
            }
            strjson 
=  strjson.Substring( 0 , strjson.Length  -   1 );
            strjson 
+=   " ]} " ;

        }
        
return  strjson;
    }

    
private   bool  IsHasChild( int  pid)
    {
        DataTable dt 
=  DBUtility.db.ExecuteTable( " select * from class where parientid= "   +  pid);
        
if  (dt.Rows.Count  ==   0 )
        {
            
return   false ;
        }
        
else
        {
            
return   true ;
        }
    }

 

最后数据库 大家看着建就行了 再次 感谢 不正经哥哥  感谢回复的朋友们

你可能感兴趣的:(treeview)