dropdownlist 实现无限级树形菜单
有時候,分類做的是無限級分類,(如果你還不會,請Google一下),取分類的時候就是個問題,怎么才能取出來呢?看代碼:
private void BindDrpClass()
??? {
??????? //獲得所有數據列表
??????? DataTable dt = mh.returnds_bysting("select * from TB_SupplyType ").Tables [0];
??????? ddl . Items.Clear();
??????? ddl.Items.Add(new ListItem("選擇類別", "0"));
??????? DataRow[] drs = dt.Select("s_Sid= " + 0);
??????? foreach (DataRow dr in drs)
??????? {
??????????? string classid = dr["s_Id"].ToString();
??????????? string classname = dr["s_Title"].ToString();
??????????? //頂級分類顯示形式
??????????? classname = "" + classname;
??????????? ddl.Items.Add(new ListItem(classname, classid));
??????????? int sonparentid = int.Parse(classid);
??????????? string blank = " ";
??????????? //遞歸子分類方法
??????????? BindNode(sonparentid, dt, blank);
??????? }
??????? ddl.DataBind();
??? }
??? private void BindNode(int parentid, DataTable dt, string blank)
??? {
??????? DataRow[] drs = dt.Select("s_Sid= " + parentid);
??????? foreach (DataRow dr in drs)
??????? {
??????????? string classid = dr["s_Id"].ToString();
??????????? string classname = dr["s_Title"].ToString();
??????????? classname = blank + classname;
??????????? ddl.Items.Add(new ListItem(classname, classid));
??????????? int sonparentid = int.Parse(classid);
??????????? string blank2 = blank + "-";
??????????? BindNode(sonparentid, dt, blank2);
??????? }
??? }
雖然能實現無限級分類,但是樣式有點遜色,有興趣的朋友可以加個css 控制一下
轉載于:https://www.cnblogs.com/zhanlang/archive/2010/11/12/1875781.html
總結
以上是生活随笔為你收集整理的dropdownlist 实现无限级树形菜单的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: .net身份证号码验证
- 下一篇: Code On Earth