导航树代码

原创 2005年04月30日 15:13:00

一个表存储父子模块的情况:
public class Tree : System.Web.UI.Page
 {
  protected Microsoft.Web.UI.WebControls.TreeView TreeView1;
  string strcn = "workstation id=PROJECT3;packet size=4096;user id=sa;data source=/"PROJECT3//PROJECT" +
    "3/";persist security info=False;initial catalog=tree; min pool size=2;max pool size=5";

  private void Page_Load(object sender, System.EventArgs e)
  {
   // 在此处放置用户代码以初始化页面
   SqlConnection _Sqlconnection1 = new SqlConnection(strcn);
   string str1 = "select * from t_tree";
   _Sqlconnection1.Open();
   SqlCommand _Sqlcommand1 = new SqlCommand(str1,_Sqlconnection1);
   SqlDataAdapter dr=new SqlDataAdapter(_Sqlcommand1);
   DataSet da1=new DataSet();
   dr.Fill(da1);
   //ViewState  获取状态信息的字典,
   //这些信息使您可以在同一页的多个请求间保存和还原服务器控件的视图状态。
   this.ViewState["ds"]=da1;
   _Sqlconnection1.Close();
   Gettreestruct(0,(TreeNode)null);
  
  }
  /// <summary>
  /// 导航树的递归算法
  /// </summary>
  /// <param name="id"></param>
  /// <param name="t1"></param>
  public void Gettreestruct(int id,TreeNode t1)
  {
   DataSet da =(DataSet)this.ViewState["ds"];
   DataView trr = new DataView(da.Tables[0]);
   trr.RowFilter="[parentid]="+id;
   foreach(DataRowView row in trr)
   {
     TreeNode nod=new TreeNode();
    if(t1==null)
    {
     nod.Text=row["mytext"].ToString();
     TreeView1.Nodes.Add(nod);
     //Expanded属性决定是否展开树
     nod.Expanded = true;
     Gettreestruct(Int32.Parse(row["nodeid"].ToString()),nod);
    }
    else
    {
     nod.Text =row["mytext"].ToString();
     t1.Nodes.Add(nod);
     nod.Expanded = true;
     Gettreestruct(Int32.Parse(row["nodeid"].ToString()),nod);    
    }

   }

  }
两个表关联存放父子模块的情况:
public void LoadTree()
  {
   DataSet da =(DataSet)this.ViewState["ds"];
   int count=0;
   foreach(DataRow row in da.Tables["Main"].Rows)
   {
    
    TreeNode nod=new TreeNode() ;
    nod.Text=row["MainName"].ToString();
    this.TreeView1.Nodes.Add(nod);

    DataView trr = new DataView(da.Tables["Sub"]);
    trr.RowFilter="MainID='"+row["MainID"].ToString()+"'";

    for(int i=0;i<trr.Count;i++)
    {
     TreeNode nod1=new TreeNode();
     nod1.Text=trr[i]["SubName"].ToString();
     this.TreeView1.Nodes[count].Nodes.Add(nod1);     
    }
    count++; 
   }
  }

jQuery 代码正常的导航栏

github代码正常的导航栏 *{ margin: 0; ...

jQuery带筛选功能垂直导航代码

  • 2016年03月10日 10:28
  • 324KB
  • 下载

daoh导航代码

  • 2016年04月24日 16:10
  • 13KB
  • 下载

[Sencha ExtJS & Touch] VS Code 的 Sencha 扩展(智能提示,代码导航和集成Build操作等)

昨天Sencha发布了 VS Code 的 Sencha 开发扩展(尝鲜版)。我试用了一下,是免费的。详见下面官方博客: https://www.sencha.com/blog/sencha-vis...

【童话风格】二级导航代码

  • 2013年09月08日 14:20
  • 2KB
  • 下载

tab导航代码

  • 2013年08月24日 10:01
  • 4KB
  • 下载

【JS 设计模式 】用组合模式来实现树形导航--JS代码结构思路分析(二)

根据上一节中的HTML代码结构我们通过JS来渲染HTML代码,我们先提供一下JS的代码片段,这代码代码不是一个完整的代码是经过简化的。通过JS代码来分析如何组装HTML的; 我们先来分析一下面上面的代...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:导航树代码
举报原因:
原因补充:

(最多只允许输入30个字)