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

首頁 > 編程 > .NET > 正文

ASP.NET TreeView樹型菜單操作實例(代碼調試通過)

2024-07-10 13:05:48
字體:
來源:轉載
供稿:網友

本實例完成treeview樹型菜單添加,修改,刪除,綁定dropdownlist功能,移動功能讀者可以自行書寫
.aspx代碼

<form id="form1" method="post" runat="server">
   <font face="宋體">
    <table id="table1" cellspacing="1" cellpadding="1"

width="700" border="1">
     <tr>
      <td ></td>
      <td>treeview操作實例</td>
     </tr>
     <tr>
      <td valign="top">
       <iewc:treeview id="treeview1"

runat="server"></iewc:treeview></td>
      <td valign="top">
       <table id="table2" cellspacing="1"

cellpadding="1" width="100%" border="0">
        <tr>
         <td>節點名
          <asp:textbox

id="textbox1" runat="server"></asp:textbox></td>
        </tr>
        <tr>
         <td>
          <asp:button

id="addbutton" runat="server" text="添 加"></asp:button>
          <asp:button

id="editbutton" runat="server" text="修 改"></asp:button>
          <asp:button

id="delbutton" runat="server" text="刪 除"></asp:button></td>
        </tr>
        <tr>
         <td>移動節點</td>
        </tr>
        <tr>
         <td>要移動到的節點
          

<asp:dropdownlist id="dropdownlist1" runat="server"></asp:dropdownlist></td>
        </tr>
        <tr>
         <td>
          <asp:button

id="movebutton" runat="server" text="移 動"></asp:button></td>
        </tr>
       </table>
      </td>
     </tr>
     <tr>
      <td ></td>
      <td></td>
     </tr>
    </table>
   </font>
  </form>

.aspx.cs后臺代碼

protected microsoft.web.ui.webcontrols.treeview treeview1; 
  public string returnvalue="";//遞歸存儲值


  private void page_load(object sender, system.eventargs e)
  {
   // 在此處放置用戶代碼以初始化頁面
   if(!page.ispostback){
    button del=new button();
    del=(button)page.findcontrol("delbutton");
    del.attributes.add("onclick","return confirm('確定刪除');");
    showlist();
   }
  }

private void showlist(){
   //綁定treeview
  //infobase io=new infobase();   
   dropdownlist1.items.clear();
   listitem list=new listitem();
   list.value="0";
   list.text="全部類別";
   dropdownlist1.items.add(list);
   dropdownlistbind(0,dropdownlist1);

   //添加根節點
   treeview1.nodes.clear();
   treenode node=new treenode();
   node.text="類別列表";
   node.target="0";
   node.expanded=true;
   treeview1.nodes.add(node);   
   treeshow(0,node);
   treeview1.databind();
  }

  private void dropdownlistbind(int parterid,dropdownlist droplist){//遞歸類別
   dataset ds=returndataset(parterid);
   if(ds!=null){
    for(int i=0;i<ds.tables[0].rows.count;i++){
     listitem list=new listitem();
     if (ds.tables[0].rows[i]["depth"].tostring()=="0")
     {
      list.text=ds.tables[0].rows[i]

["name"].tostring();
     }
     else{
      string depth="";
      //for(i=1;i<int32.parse(ds.tables[0].rows

[i]["depth"].tostring());i++){
       depth+="--";
      //}
          list.text=depth+ds.tables

[0].rows[i]["name"].tostring();
     }
     list.value=ds.tables[0].rows[i]["id"].tostring();
     droplist.items.add(list);
     dataset ds2=returndataset(int32.parse(ds.tables

[0].rows[i]["id"].tostring()));
     if(ds2.tables[0].rows.count>0){
      dropdownlistbind(int32.parse(ds.tables

[0].rows[i]["id"].tostring()),dropdownlist1);
     }
    }
   }
  }

  private void treeshow(int parterid,treenode treenode){//遞歸類別
   //  
   dataset ds=returndataset(parterid);
   if (ds!=null)
   {
    for(int i=0;i<ds.tables[0].rows.count;i++)
    {
     treenode node=new treenode();
     node.target=ds.tables[0].rows[i]["id"].tostring();
     node.text=ds.tables[0].rows[i]["name"].tostring();
     treenode.nodes.add(node);
     node.expanded=true;
     dataset ds2=returndataset(int32.parse(ds.tables

[0].rows[i]["id"].tostring()));
     if (ds2.tables[0].rows.count>0)
     {
      treeshow(int32.parse(ds.tables[0].rows[i]

["id"].tostring()),node);
     }
    }
   }
  }

  private dataset returndataset(int parterid){
   oledbconnection conn=new oledbconnection();
   conn.connectionstring="provider=microsoft.jet.oledb.4.0;data

source="+server.mappath("data.mdb");
   oledbdataadapter cmd;
   dataset ds=new dataset();
   try
   {
    conn.open();
    cmd=new oledbdataadapter("select * from treeview where

parterid="+parterid+" order by createtime asc",conn);
    cmd.fill(ds);
   }
   catch(exception ex)
   {
    response.write(ex.tostring());
    response.end();
   }
   finally{
    conn.dispose();
   }
   return ds;
  }

  private void addbutton_click(object sender, system.eventargs e)
  {//添加節點
   if (textbox1.text!="")
   {
    treenode treenode=treeview1.getnodefromindex

(treeview1.selectednodeindex);
    string[] treedepth=treenode.getnodeindex().split('.');
    if(treenode.target!=null)
    {
     int depth=treedepth.length-1;//獲得深度
     int parterid=int32.parse(treenode.target);//獲得父類

id
     string classname=textbox1.text;//獲得類名
     oledbconnection conn=new oledbconnection();
     

conn.connectionstring="provider=microsoft.jet.oledb.4.0;data source="+server.mappath

("data.mdb");
     conn.open();
     oledbcommand cmd=new oledbcommand();
     cmd.commandtype=commandtype.text;
     cmd.connection=conn;
     cmd.commandtext="insert into treeview

(name,parterid,depth)values('"+classname+"',"+parterid+","+depth+")";
     try
     {
      cmd.executenonquery();
      response.write("<script>alert('添加成

功');location.href='treeviewstudy.aspx';</script>");
      response.end();
     }
     catch(exception ex)
     {
      response.write(ex.tostring());
      response.end();
     }
     finally
     {
      cmd.dispose();
      conn.dispose();
     }
    }
    else{
    //response.write(treenode.target+"123<br>");
    }
   }
   else{
   response.write("請填寫類別并選擇節點");
   }
   }

  private void editbutton_click(object sender, system.eventargs e)
  {//修改節點
   if (textbox1.text!="")
   {
    treenode treenode=treeview1.getnodefromindex

(treeview1.selectednodeindex);
    int id=int32.parse(treenode.target);
    string classname=textbox1.text;
    if(treenode.target!=null)
    {
     oledbconnection conn=new oledbconnection();
     

conn.connectionstring="provider=microsoft.jet.oledb.4.0;data source="+server.mappath

("data.mdb");
     conn.open();
     oledbcommand cmd=new oledbcommand();
     cmd.commandtype=commandtype.text;
     cmd.connection=conn;
     cmd.commandtext="update treeview set

name='"+classname+"' where id="+id;
     try
     {
      cmd.executenonquery();
      response.write("<script>alert('修改成

功');location.href='treeviewstudy.aspx';</script>");
      response.end();
     }
     catch(exception ex)
     {
      response.write(ex.tostring());
      response.end();
     }
     finally
     {
      cmd.dispose();
      conn.dispose();
     }
    }
    else{}
   }
   else
   {
    response.write("請填寫類別并選擇節點");
   }
  }

  private void delbutton_click(object sender, system.eventargs e)
  {//刪除   
   treenode treenode=treeview1.getnodefromindex

(treeview1.selectednodeindex);
   int id=int32.parse(treenode.target);
   //response.write(id.tostring()+"<br>");
   string tmpid="";
   tmpid=id.tostring()+allid(treenode.nodes).tostring();
   //response.write(tmpid);
   //response.end();
   if (treenode.target!="0")
   {
    oledbconnection conn=new oledbconnection();
    conn.connectionstring="provider=microsoft.jet.oledb.4.0;data

source="+server.mappath("data.mdb");
    conn.open();
    oledbcommand cmd=new oledbcommand();
    cmd.commandtype=commandtype.text;
    cmd.connection=conn;
    cmd.commandtext="delete * from treeview where id in

("+tmpid+")";
    try
    {
     cmd.executenonquery();
     response.write("<script>alert('刪除成

功');location.href='treeviewstudy.aspx';</script>");
     response.end();
    }
    catch(exception ex)
    {
     response.write(ex.tostring());
     response.end();
    }
    finally
    {
     cmd.dispose();
     conn.dispose();
    }
   }
   else{
    response.write("不能刪除根節點");    
   }
  }

  private string allid(treenodecollection tnc)
  {//遍歷treeview節點(遞歸算法)
   foreach(treenode node in tnc){
    if(node.nodes.count!=0){
     returnvalue+=","+node.target;
     //response.write(node.text+node.target+"<br>");
     allid(node.nodes);     
    }
    else{
     //response.write(node.text+node.target+"<br>");
     returnvalue+=","+node.target;
    }
   }
   return returnvalue;
  }

  private void movebutton_click(object sender, system.eventargs e)
  {//移動 
   //此功能實現的時候需要考慮移動中所有類的深度是否有子類問題
  }


菜鳥學堂:
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 泾川县| 会东县| 寿光市| 且末县| 兴和县| 林芝县| 汝阳县| 古丈县| 九寨沟县| 巩留县| 九江县| 阳原县| 巴林左旗| 左贡县| 湄潭县| 章丘市| 拜城县| 彰化县| 翁源县| 隆安县| 沙田区| 玛曲县| 永和县| 泗水县| 邛崃市| 罗平县| 玉山县| 景德镇市| 曲周县| 彭水| 上犹县| 青海省| 武强县| 兰考县| 防城港市| 武清区| 香河县| 土默特右旗| 巴楚县| 福建省| 临夏县|