下面貼上完整的代碼,我走了很多彎路,原因就是看了回復中朋友們的代碼,現在想起來其實不用那麼費事吧。
代碼如下:
<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;
}
}
最後數據庫 大家看著建就行了 再次 感謝 不正經哥哥