.net easyui treeツリーを生成するjson
2810 ワード
バックグラウンドはeasyui tree用のjson文コードを生成する
[{"ID":"1","text":" ","children":[{"ID":"2","text":" ","children":[{"ID":"5","text":" 1","children":[{"ID":"7","text":" 1.1","children":[{"ID":"9","text":" 1.1.1"}]},{"ID":"10","text":" 1.2"}]},{"ID":"6","text":" 2"}]},{"ID":"3","text":" "},{"ID":"4","text":" "}]},{"ID":"8","text":" "}]
private void Page_Load(object sender, System.EventArgs e)
{
//
string r=Request.QueryString["pid"];
if(r==null)
r="root";
initTree(r);
}
#region Web
override protected void OnInit(EventArgs e)
{
//
// CODEGEN: ASP.NET Web 。
//
InitializeComponent();
base.OnInit(e);
}
///
/// -
/// 。
///
private void InitializeComponent()
{
this.Load += new System.EventHandler(this.Page_Load);
}
#endregion
///
/// wyw308
///
///
public void initTree(string pid)
{
DataSet ds = Dal.ExcSql.GetDataSet("select t.id,t.name text,t.parentid from jsjd_type t where t.istop=0");//
this.ViewState["ds"] = ds;
Context.Response.Write(AddNode(pid,1));
Response.End();
}
///
/// , easyui tree json wyw308
///
/// id
/// , 1
///
private string AddNode(string ParentID,int deep)
{
string str="";
DataSet ds = (DataSet)this.ViewState["ds"];
DataView dvTree = new DataView(ds.Tables[0]);
dvTree.RowFilter = "[parentid] ='" + ParentID + "'";// ParentId
int i=0;
int d=deep;
foreach (DataRowView drv in dvTree)
{
if(i==0)// , “[”
{
if(d==1)// 1,
str="[";
else// ,
str=",\"children\":[";
}
else
str=str+",";
str=str+"{";
str=str+"\"ID\":\""+drv["id"]+"\",";
str=str+"\"text\":\""+drv["text"]+"\"";
str=str+AddNode(drv["id"].ToString(),deep+1);//
str=str+"}";
i=i+1;
if(dvTree.Count==i)// , "]"
str=str+"]";
}
return str;
}