using System; using System.Collections; using System.Collections.Generic; using System.Data; using System.Data.SqlClient; using System.Linq; using System.Reflection; using System.Web; using System.Web.UI; using System.Web.UI.WebControls;
public tree BindNew(tree node) { DataTable dr = GetReader(node.id); tree n = new tree(); for (int i = 0; i < dr.Rows.Count; i++) { if (Convert.ToInt32(dr.Rows[i]["pid"]) == 0) {
} } return n; } public List<tree> GetChild(tree node) { DataTable dr = GetReader(node.id); List<tree> child = new List<tree>(); for (int i = 0; i < dr.Rows.Count; i++) {
tree n = new tree(); n.id = Convert.ToInt32(dr.Rows[i]["id"]); n.text = dr.Rows[i]["text"].ToString(); n.pid = Convert.ToInt32(dr.Rows[i]["pid"]); child.Add(n); DataTable dr1 = GetReader(n.id); if (dr1 != null) { n.child = GetChild(n); }
} return child; }
///<summary> /// 测试 ///</summary> ///<param name="sender"></param> ///<param name="e"></param> protectedvoid Button1_Click(object sender, EventArgs e) { tree model = new tree(); model.id = 0; BindNew(model);//递归
List<tree> list = new List<tree>(); list.Add(BindNew(model));
}
public DataTable GetReader(int pid) { string sql = " select * from t_tree where pid = " + pid + ""; //where pid = " + pid + " "; string ConnectionString = "uid=sa;pwd=qazwsx;initial catalog=TestDBase;data source=DESKTOP-HKIRA54;Connect Timeout=900"; using (SqlConnection con = new SqlConnection(ConnectionString)) { SqlCommand cmd = new SqlCommand(sql, con); con.Open(); DataSet ds = new DataSet(); SqlDataAdapter adapter = new SqlDataAdapter(); adapter.SelectCommand = cmd; adapter.Fill(ds);