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

首頁 > 學(xué)院 > 開發(fā)設(shè)計 > 正文

asp.net TreeView

2019-11-17 02:03:37
字體:
供稿:網(wǎng)友

asp.net TreeView

希望有實力的朋友了以后能指點我改一下選中和不選中的遞歸

前臺代碼

  <div style="font-size:14px;">                        <asp:TreeView ShowCheckBoxes="All" ID="usertree" runat="server" OnTreeNodeCheckChanged="MyTreeView_TreeNodeCheckChanged" OnSelectedNodeChanged="MyTreeView_SelectedNodeChanged" >                        </asp:TreeView>                    </div>                           <div style="float:left;">           <span style="display:block">要參加人員:</span>            <asp:ListBox ID="NeedExamStaff" AutoPostBack="true" runat="server" Height="262px" Width="116px" SelectionMode="MultView Code

后臺代碼

       DataTable dt = new DataTable();        PRotected void Page_Load(object sender, EventArgs e)        {            if (!IsPostBack)            {                SqlConnection conn = new SqlConnection();                conn.ConnectionString = "User ID=sa;Initial Catalog=newtest;Data Source=JJ-PC;PassWord=123";                // 打開連接                if (conn.State == ConnectionState.Closed)                {                    conn.Open();                }                var sql = "select * from city";                // 初始化命令                SqlCommand cmd = new SqlCommand();                cmd.Connection = conn;                cmd.CommandType = CommandType.Text;                cmd.CommandText = sql;                // 用于執(zhí)行數(shù)據(jù)插入、更新和刪除的操作;返回被影響的行數(shù)。                int i = cmd.ExecuteNonQuery();                // 如果想獲取數(shù)據(jù)集合的話我們經(jīng)常使用到的是數(shù)據(jù)適配器                SqlDataAdapter adapter = new SqlDataAdapter();                adapter.SelectCommand = cmd;                adapter.Fill(dt);                this.usertree.Nodes.Clear();                usertree.Attributes.Add("onclick", " postBackByObject()");                AddTree(110000, (TreeNode)null);            }        }        //遞歸添加樹的節(jié)點        public void AddTree(int ParentID, TreeNode pNode)        {            DataTable ds = dt;            DataView dvTree = new DataView(ds);            //過濾ParentID,得到當(dāng)前的所有子節(jié)點            dvTree.RowFilter = "[fatherID] = " + ParentID;            foreach (DataRowView Row in dvTree)            {                TreeNode Node = new TreeNode();                if (pNode == null)                {                    //添加根節(jié)點                    Node.Text = Row[2].ToString();                    Node.Value = Row[1].ToString();                    this.usertree.Nodes.Add(Node);                    Node.Expanded = true;                    Node.ShowCheckBox = true;                    //再次遞歸                    AddTree(Int32.Parse(Row[1].ToString()), Node);                }                else                {                    //添加當(dāng)前節(jié)點的子節(jié)點                    Node.Text = Row[2].ToString();                    Node.Value = Row[1].ToString();                    pNode.ChildNodes.Add(Node);                    Node.Expanded = true;                    Node.ShowCheckBox = true;                    //再次遞歸                    AddTree(Int32.Parse(Row[1].ToString()), Node);                }            }        }        protected void MyTreeView_TreeNodeCheckChanged(object sender, TreeNodeEventArgs e)        {            TreeNode node = e.Node;            var nodeCount = node.ChildNodes.Count;            if (node.Checked == true)            {                if (nodeCount > 0)                {                    for (var i = 0; i < nodeCount; i++)                    {                        node.ChildNodes[i].Checked = true;                        var node1Count = node.ChildNodes[i].ChildNodes.Count;                        if (node1Count > 0)                        {                            for (var k = 0; k < node1Count; k++)                            {                                node.ChildNodes[i].ChildNodes[k].Checked = true;                                var node2Count = node.ChildNodes[i].ChildNodes[k].ChildNodes.Count;                                if (node2Count > 0)                                {                                    for (var j = 0; j < node2Count; j++)                                    {                                        node.ChildNodes[i].ChildNodes[k].ChildNodes[j].Checked = true;                                    }                                }                            }                        }                    }                }            }            else            {                if (nodeCount > 0)                {                    for (var i = 0; i < nodeCount; i++)                    {                        node.ChildNodes[i].Checked = false;                        var node1Count = node.ChildNodes[i].ChildNodes.Count;                        if (node1Count > 0)                        {                            for (var k = 0; k < node1Count; k++)                            {                                node.ChildNodes[i].ChildNodes[k].Checked = false;                                var node2Count = node.ChildNodes[i].ChildNodes[k].ChildNodes.Count;                                if (node2Count > 0)                                {                                    for (var j = 0; j < node2Count; j++)                                    {                                        node.ChildNodes[i].ChildNodes[k].ChildNodes[j].Checked = false;                                    }                                }                            }                        }                    }                }            }        }        protected void MyTreeView_SelectedNodeChanged(object sender, EventArgs e)        {            var tt = usertree.SelectedNode.Checked;            var dd = usertree.SelectedValue;            databind();        }        public void databind()        {            if (usertree.SelectedNode.Checked == false)            {                if (usertree.SelectedNode.ChildNodes.Count > 0)                {                    foreach (TreeNode subNode in usertree.SelectedNode.ChildNodes)                    {                        usertree.SelectedNode.Checked = true;                        subNode.Checked = true;                        if (subNode.ChildNodes.Count > 0)                        {                            foreach (TreeNode subNode2 in subNode.ChildNodes)                            {                                subNode2.Checked = true;                                if (subNode2.ChildNodes.Count > 0)                                {                                    foreach (TreeNode subNode3 in subNode2.ChildNodes)                                    {                                        subNode3.Checked = true
發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 海淀区| 浮山县| 康定县| 体育| 昌乐县| 义乌市| 轮台县| 晋宁县| 盖州市| 阜康市| 林芝县| 定安县| 高唐县| 贵德县| 内乡县| 乌兰县| 铜陵市| 洪泽县| 涿州市| 镇坪县| 普格县| 富民县| 琼中| 黄大仙区| 图们市| 巫山县| 申扎县| 额敏县| 龙江县| 涟水县| 兴化市| 德江县| 民勤县| 威信县| 通道| 仁化县| 牡丹江市| 天镇县| 灵璧县| 清新县| 昭平县|