void myClass() { SqlConnection Conn = new SqlConnection(); Conn.ConnectionString = ConnStr; try { Conn.Open(); _Conn=Conn; string sql = "select * from myClass order by fl asc"; SqlDataAdapter dAdapter = new SqlDataAdapter(sql,Conn); DataSet ds = new DataSet(); dAdapter.Fill(ds); DataRow[] myRow = ds.Tables[0].Select("pid=0","fl");
string myStr = "<table width='100%' bordercolor='#CCCCCC' border='0' cellpadding='0' cellspacing='0'>"; foreach(DataRow dr in myRow) { myStr += "<tr style='cursor:hand' onMouseOut=" + "this.style.backgroundColor=''" + " onMouseOver=" + "this.style.backgroundColor='#BFDFFF'" + ">"; myStr += "<td width='255' height='18' onclick=ChangeDis('table"+dr["id"].ToString()+"')>" + MyData.img(Convert.ToInt32(dr["id"])) + " <a href='#' onclick=AddChild('" + dr["id"] + "','" + dr["titlename"] + "','" + dr["depth"] + "');ModClass('" + dr["id"] + "','" + dr["titlename"] + "')>" + dr["titlename"] + "</a></td>"; myStr += "<td width='35'><a href='?action=Up&id="+dr["id"]+"&fl="+dr["fl"]+"&pid="+dr["pid"]+"'><b>↑</b></a></td>"; myStr += "<td width='30'><a href='?action=Down&id=" + dr["id"] + "&fl=" + dr["fl"] + "&pid=" + dr["pid"] + "'><b>↓</b></a></td>"; myStr += "<td width='30' algin='center'><a href='?action=del&id=" + dr["id"] + "' onclick='return confrim()'><b>×</b></a></td></tr>"; myStr += "<tr><td colspan='5'>" + NextClass(Convert.ToInt32(dr["id"]), ds) + "</td></tr>"; } myStr += "</table>"; this.Addr.InnerHtml=myStr; ds.Clear(); dAdapter.Dispose(); Conn.Close(); } catch (Exception e) { Response.Write("<script>alert('"+e.Message.ToString()+"1Ji'); history.back();</script>"); } }
public string NextClass(int pid,DataSet ds) { if (_Conn.State == ConnectionState.Closed) { _Conn.Open(); } string myStr = ""; try { DataRow[] bRow = ds.Tables[0].Select("pid=" + pid, "fl"); myStr += "<table border='0' cellpadding='0' cellspacing='0' style='display:none' id='table" + pid + "'>"; foreach (DataRow dr in bRow) { myStr += "<tr onMouseOut=" + "this.style.backgroundColor=''" + " onMouseOver=" + "this.style.backgroundColor='#BFDFFF'" + ">"; myStr += "<td width='255' height='18'> "+Nbsp(Convert.ToInt32(dr["depth"]))+""+MyData.img(Convert.ToInt32(dr["id"])) + " <a href='#' onclick=AddChild('" + dr["id"] + "','" + dr["titlename"] + "','" + dr["depth"] + "');ModClass('" + dr["id"] + "','" + dr["titlename"] + "')>" + dr["titlename"] + "</a></td>"; myStr += "<td width='35'><a href='?action=Up&id=" + dr["id"] + "&fl=" + dr["fl"] + "&pid=" + dr["pid"] + "'><b>↑</b></a></td>"; myStr += "<td width='30'><a href='?action=Down&id=" + dr["id"] + "&fl=" + dr["fl"] + "&pid=" + dr["pid"] + "'><b>↓</b></a></td>"; myStr += "<td width='30' algin='center'><a href='?action=del&id=" + dr["id"] + "' onclick='return confrim()'><b>×</b></a></td></tr>"; myStr += "<tr><td colspan='5'>" + NextClass(Convert.ToInt32(dr["id"]), ds) + "</td></tr>"; } myStr += "</table>"; } catch (Exception ed) { Response.Write("<script>alert('" + ed.Message.ToString() + "2Ji'); history.back();</script>"); }
return myStr; }
public string Nbsp(int num) { string Str=""; for (int i = 0; i < num; i++) { Str += " "; }
return Str; }
说明:函数myClass() 程序入口 首先查出所有根目录项; NextClass()则依靠父级提供的ID去查询所有子类项; Nbsp()是判断类的深度来显示类的父子关系; _Conn:全局Connection对象,可省去; this.Addr:Addr是个容器 可以是Lable也可以是HtmlTableCell 随你啦. 数据库结构: id titlename (这两不用多说了吧!) fl:用于排序 Int; depth:类的深度 Int; pid:父类的ID Int
中联无限科技公司提供专业的成都网站建设、成都网站设计、成都网站制作、成都网站推广。
上一篇:搜索引擎优化写作的四项基本原则
下一篇:搜索引擎优化的主要任务和关键
|