treeview選擇操作(checkbox)

來源:互聯網
上載者:User

 

//--選擇操作 最好是用checkbox直觀..
//--treeview綁定例子
using System;
using System.Data;
using System.Configuration;
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;
using System.Data.SqlClient;


public partial class _Default : System.Web.UI.Page
{
    private string connstring = ConfigurationManager.ConnectionStrings["ConnStr"].ToString();

    private bool isHaveCheckBox = false;
    private bool isExpanded = false;
    private DataTable dtTree = null;
    protected void Page_Load(object sender, EventArgs e)
    {
        //Response.Write("tttttttttt");
        if (!IsPostBack)
        {
            AreaTree.Nodes.Add(getRootAreaTreeNode(false, false));
        }       

    }

    /// <summary>
    /// 擷取包含全部子節點的根節點資料
    /// </summary>   
    /// <param name="haveCheckBox">節點是否產生CheckBox</param>
    /// <param name="expanded">節點是否展開</param>    
    /// <returns></returns>
    public TreeNode getRootAreaTreeNode(bool haveCheckBox, bool expanded)
    {
        //drPeng.HS.BR.AreaTree brTree = new drPeng.HS.BR.AreaTree();

        string rootID = "0001";//brTree.getRootAreaTreeID();
        string rootName = "中國";//brTree.getRootAreaTreeName();
        //ds = brTree.getAllAreaTree();

        isHaveCheckBox = haveCheckBox;
        isExpanded = expanded;

        #region populate root node
        TreeNode rootNode = new TreeNode();
        rootNode.Text = rootName;
        rootNode.Value = rootID;
        //rootNode. = rootName;
        // rootNode.NodeData = "0001";
        
        rootNode.Expanded = true;
        // rootNode.CheckBox = isHaveCheckBox;
        #endregion

        DataSet dsTree = SqlHelper.ExecuteDataset(connstring, CommandType.Text, "select * from TB_Area");
        dtTree = dsTree.Tables[0];
        this.populateAreaTree(rootID, rootNode);

        return rootNode;
    }

    private void populateAreaTree(string parentID, TreeNode pNode)
    {        

        DataRow[] dRows = dtTree.Select("ParentAreaCode='" + parentID +"'");
       
        if (dRows.Length > 0)
        {
            TreeNode Node = null;
            foreach (DataRow drow in dRows)
            {
                Node = new TreeNode();
                Node.Text = drow["AreaName"].ToString();
                Node.Value = drow["AreaCode"].ToString();
                //Node.DataItem = Node.Text + "|" + Node.Value;
                Node.Expanded = isExpanded;
                pNode.ChildNodes.Add(Node);
                populateAreaTree(Node.Value, Node);     //遞迴 
            }            
        }
    }
}

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.