ASP.NETでのJQUERYベースの高性能TreeView補完
3003 ワード
下に完全なコードを貼って、私は多くの回り道をして、原因は返事の中の友达のコードを見て、今思い出して実はそんなに手間がかからないでしょう.
バックグラウンド
最后にデータベースはみんなが建设することを见ているので、再びまじめでない兄に感谢します
<br>$(function(){
<br>var o = { showcheck: true};
<br>o.data =<%=treeNodes %>;
<br>$("#tree").treeview(o);
<br>})
<br>
バックグラウンド
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;
}
}
最后にデータベースはみんなが建设することを见ているので、再びまじめでない兄に感谢します