下面贴上完整的代码,我走了很多弯路,原因就是看了回复中朋友们的代码,现在想起来其实不用那么费事吧。
复制代码 代码如下:
后台
复制代码 代码如下:
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 {
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 {
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;
}
}
最后数据库 大家看着建就行了 再次 感谢 不正经哥哥