成人午夜激情影院,小视频免费在线观看,国产精品夜夜嗨,欧美日韩精品一区二区在线播放

ASP.NET中樹型DropDownList的綁定

2010-08-28 10:50:27來源:西部e網作者:

  開發產品的時候,需要用到樹性的dropdownlist,于是在網上找方法,找了很多,都不是很有效,于是自己寫了個!

  首先設計好數據庫,假設數據庫有三個字段Id,ParentId,Name。ParentId是樹性結構必須的,就是節點的父節點id,假設跟節點id都是0。下面就可以綁定了!

  思路應該很簡單,就是先綁定根節點,再循環綁定子節點!父節點和子節點之間為了顯示出層次結構,用空格格開,不過不是space鍵,沒用的,必須用v1的特殊字符1。

/// <summary>
  /// 綁定根節點
  /// </summary>
  void bindGroup()
  {
   DataTable dt =//獲取所有節點
   if(dt.Rows.Count>0)
   {
    foreach(DataRow row in dt.Rows)
    {
     if(row["ParentId"].ToString().Trim()=="0")//綁定根節點
     {
      this.drpItGroup.Items.Add(new ListItem(row["Name"].ToString(),row["Id"].ToString()));
      this.bindDropChildItem(this.drpItGroup,dt,row["Id"].ToString(),1);
     }
    }
   }
  }
  /// <summary>
  /// 綁定子節點
  /// </summary>
  /// <param name="d"></param>
  /// <param name="dt"></param>
  /// <param name="id"></param>
  /// <param name="length"></param>
  void bindDropChildItem(DropDownList d,DataTable dt,string id,int length)
  {
   DataRow[] rows=dt.Select("ParentId='"+id+"'","Id DESC");//取出id子節點進行綁定
   for(int i=0;i<rows.Length;i++)
   {
    this.drpItGroup.Items.Add(new ListItem(this.SpaceLength(length)+rows[i]["Name"].ToString(),rows[i]["Id"].ToString()));
    this.bindDropChildItem(d,dt,rows[i]["Id"].ToString(),length+1);//空白數目加1
   }
  }
  /// <summary>
  /// 子節點前面的空白數
  /// </summary>
  /// <param name="i"></param>
  /// <returns></returns>
  string SpaceLength(int i)
  {
      string space="";
   for(int j=0;j<i;j++)
   {
    space+=" ";//注意這里的空白是智能abc輸入法狀態下的v11字符;
   }
   return space;
  }

  這樣就大功告成了,綁定一下就可以看到效果了!還可以在客戶端進行添加節點,方法相似!

關鍵詞:ASP.NET

贊助商鏈接:

主站蜘蛛池模板: 香格里拉县| 洮南市| 上犹县| 交城县| 建湖县| 二手房| 宿州市| 绥中县| 七台河市| 甘德县| 陕西省| 健康| 水富县| 嘉义市| 登封市| 阳信县| 湖北省| 准格尔旗| 繁峙县| 公安县| 庆云县| 合肥市| 荔波县| 巴林左旗| 清远市| 富源县| 湘乡市| 五峰| 卢龙县| 平阳县| 南平市| 历史| 合作市| 潼关县| 上思县| 池州市| 平遥县| 宜昌市| 房产| 上蔡县| 正宁县|