//第一次載入
 if (page.ispostback==false)
   {
    createdataset();  
    bindclass(classlist, 0); 
   }
關鍵代碼
private dataset createdataset()
  {//建立數據集
   sqlconnection conn=new sqlconnection();
   conn.connectionstring=configurationsettings.appsettings
["sqlconnstring"].tostring();
   conn.open();
   string sql="select * from newsclass";
   sqldataadapter da=new sqldataadapter(sql,conn);
   ds=new dataset();
   da.fill(ds,"classtable");
   da.dispose();
   conn.dispose();
   conn.close();
   classlist.items.clear();
   classlist.items.add(new listitem("作為一級分類","0"));
   return ds;
  }
  private void bindclass(dropdownlist list,int parentid)
  {//從根節點開始遞歸調用顯示子樹  
   //classlist.datasource=ds.tables;
   //classlist.datamember="classtable";
   //classlist.databilist();
   dataview dv=new dataview();   
   listitem tmplist;
   string intid;
   dv.table=ds.tables["classtable"];
   dv.rowfilter="parentid="+parentid+"";
   foreach(datarowview drv in dv)
   {
    tmplist=new listitem();
    string depth="";
    for(int i=0;i<=int32.parse(drv["depth"].tostring());i++){
     depth+="--";
    }
    tmplist.text=depth+drv["classname"].tostring();
    tmplist.value=drv["classid"].tostring();
    list.items.add(tmplist);
    intid=drv["parentid"].tostring();
    if (drv["child"].tostring()=="1")
    {
     bindclass(classlist,int32.parse(tmplist.value));
    }    
   }
  }
新聞熱點
疑難解答
圖片精選