yuezhonghu

悠然现南山...
  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

TreeView控件应用

Posted on 2008-01-14 16:51  .狐狸血.  阅读(152)  评论(0编辑  收藏  举报

很少用到的东西,但很实用,记录于此:

前台

<asp:TreeView ID="TreeView1" runat="server" ExpandDepth="0" ShowLines="True" Width="370px" AutoGenerateDataBindings="False">
                            <LeafNodeStyle Font-Size="12px" />
                        <HoverNodeStyle BackColor="Lavender" />
                        </asp:TreeView>

 

后台:

using System;
using System.Data;
using System.Configuration;
using System.Collections;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;

public partial class system_companytree : System.Web.UI.Page
{
    protected void Page_Load(object sender, EventArgs e)
    {
        if (!IsPostBack)
        {
            BoundToTreeView(TreeView1.Nodes, "");
        }
    }

   /// <summary>
    /// 递归初始化TreeView
    /// </summary>
    /// <param name="parentID">父ID</param>
    protected void BoundToTreeView(TreeNodeCollection TRNode, string parentID)
    {
        string SQL = "SELECT * FROM t_OA_SYS_Department WHERE Isdel=0 and parentID!=-2";
        if (!parentID.Equals(""))
        {
            SQL += " AND parentID=" + parentID;
        }
        else
        {
            SQL += " AND parentID=0";
        }
        DataTable DT = LiTianPing.SQLServerDAL.DbHelperSQL.Query(SQL).Tables[0];
        int i = DT.Rows.Count;
        if (DT != null && i > 0)
        {
            for (int j = 0; j < i; j++)
            {
                TreeNode ItemNode = new TreeNode();
                ItemNode.Text = DT.Rows[j]["DepName"].ToString();
                ItemNode.Value = DT.Rows[j]["ID"].ToString();

                string Where = DT.Rows[j]["ParentID"].ToString();
                if (Where.Equals("0"))
                {
                    ItemNode.NavigateUrl = "system_detail_gs.aspx?ID_Company=" + ItemNode.Value;
                }
                else
                {
                    ItemNode.NavigateUrl = "system_detail_agent.aspx?ID_Agen=" + ItemNode.Value;
                }
                //ItemNode.SelectAction = TreeNodeSelectAction.Expand;

                string P;
                P = DT.Rows[j]["ID"].ToString();
                BoundToTreeView(ItemNode.ChildNodes, P);

                TRNode.Add(ItemNode);
            }
        }
    }
}