国产探花免费观看_亚洲丰满少妇自慰呻吟_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ā)表
主站蜘蛛池模板: 乌鲁木齐市| 通江县| 资溪县| 金川县| 乡城县| 天等县| 兴和县| 三穗县| 佛山市| 怀集县| 和硕县| 吉林省| 商丘市| 宜城市| 三门县| 青冈县| 锡林郭勒盟| 凯里市| 江油市| 弋阳县| 沁水县| 社会| 芒康县| 紫阳县| 大丰市| 镇原县| 池州市| 巴彦淖尔市| 阳高县| 南安市| 皮山县| 克什克腾旗| 肇庆市| 绥滨县| 观塘区| 抚州市| 太康县| 南充市| 新平| 蓬莱市| 雅安市|