国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 網(wǎng)站 > 建站經(jīng)驗 > 正文

Net中實現(xiàn)無限分類的2 個例子

2019-11-02 15:06:54
字體:
供稿:網(wǎng)友

 以前總想著搞這個無限分類,今天終于得空好好的看了下,發(fā)現(xiàn)實現(xiàn)的原理還是很簡單的,數(shù)據(jù)結(jié)構(gòu)上,用兩列(分類編號,上級編號)就可以實現(xiàn),可是為了聯(lián)合查詢的方便,一般都再增加一列(深度),在這個實例里,我只用了兩列,剩下的無非就是遞歸著對TreeView進(jìn)行數(shù)據(jù)綁定而已~~。

 

代碼如下:
public partial class _Default : System.Web.UI.Page
{
BIL bil = new BIL();
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
bind_tree("0",null);
}
}
protected void bind_tree(string ChildNode,TreeNode tn)
{
DataTable dt = bil.GetByClassPre(ChildNode).Tables[0];

 

foreach (DataRow dr in dt.Rows)
{
TreeNode Node = new TreeNode();
if (tn==null)
{
//根
Node.Text = dr["ClassName"].ToString();
this.TreeView1.Nodes.Add(Node);
bind_tree(dr["ClassId"].ToString(), Node);
}
else
{
//當(dāng)前節(jié)點的子節(jié)點
Node.Text = dr["ClassName"].ToString();
tn.ChildNodes.Add(Node);
bind_tree(dr["ClassId"].ToString(),Node);
}
}
}
}

 

上次寫了使用TreeView控件進(jìn)行無限分類綁定的方法,這回再寫個通用性更好的~~嘿嘿 綁定DropDownList~~思想跟上篇日志很接近,也是使用遞歸,當(dāng)然,網(wǎng)絡(luò)上還有很多人給數(shù)據(jù)庫增加了一個“Depth(深度)”的字段,這樣進(jìn)行綁定的時候還可以更簡單些哈~~當(dāng)然,沒有必要的就不加了,還是遞歸使用起來簡單些哈~~不多說了,上代碼哈:

 

代碼如下:
protected void bind_droplist(string ChildNode, string tmp)
{
DataTable dt = bil.GetByClassPre(ChildN
中國歷史故事[www.9-39.com/html/china/]
ode).Tables[0];

 

foreach (DataRow dr in dt.Rows)
{
if (dr["ClassPre"].ToString()=="0")
{
//如果是根節(jié)點
tmp = "";
DropDownList1.Items.Add(dr["ClassName"].ToString());
bind_droplist(dr["ClassId"].ToString(), tmp + " ");
}
else
{
//不是根節(jié)點
DropDownList1.Items.Add( tmp+"|-" + dr["ClassName"].ToString());
bind_droplist(dr["ClassId"].ToString(), tmp + " ");
}
}
}

發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 北票市| 邯郸县| 出国| 化州市| 奉新县| 九台市| 日照市| 怀柔区| 扎鲁特旗| 维西| 静海县| 朝阳县| 西畴县| 沾益县| 全州县| 涡阳县| 阿鲁科尔沁旗| 光山县| 彰武县| 香港| 聂拉木县| 吉首市| 延庆县| 沭阳县| 玉龙| 专栏| 曲阜市| 民权县| 商南县| 秦皇岛市| 资阳市| 武功县| 简阳市| 镇坪县| 宁南县| 进贤县| 辽阳县| 灵山县| 松桃| 铜川市| 邢台市|