zoukankan      html  css  js  c++  java
  • 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;
            }
        }

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

  • 相关阅读:
    jQuery的选择器
    01-jQuery的介绍
    client、offset、scroll系列
    BOM
    定时器
    js中的面向对象
    javascript小练手
    DOM介绍
    关于DOM的事件操作
    伪数组 arguments
  • 原文地址:https://www.cnblogs.com/danyingjie/p/1958393.html
Copyright © 2011-2022 走看看