ASP.NET中基于JQUERY的高性能的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;

  }

  }

  最后数据库 大家看着建就行了 再次 感谢 不正经哥哥