zoukankan      html  css  js  c++  java
  • asp.net2.0控件treeview绑定数据以及全选操作

    //html页面

    <%@ Page Language="C#" AutoEventWireup="true" CodeFile="test.aspx.cs" Inherits="test" %>


    <html xmlns="http://www.w3.org/1999/xhtml" >
    <head runat="server">
        <title>无标题页</title>
    </head>
    <script>
    function postBackObject()
    {  
        var o = window.event.srcElement;
        if (o.tagName == "INPUT" && o.type == "checkbox") //点击treeview的checkbox是触发
        {
                  __doPostBack("","");
         }
    }
    </script>
    <body>
        <form id="form1" runat="server">
        <div>
            <asp:TreeView ID="TreeView1" runat="server" PopulateNodesFromClient="False" onclick="postBackObject()" ShowCheckBoxes="All" OnTreeNodeCheckChanged="TreeView1_TreeNodeCheckChanged">
            </asp:TreeView>
       
        </div>
        </form>
    </body>
    </html>

    //后台代码

    using System;
    using System.Data;
    using System.Data.SqlClient;
    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 test : System.Web.UI.Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {
            if (!Page.IsPostBack)
            {
                DataTable dt1 = SqlDAL.department.listProvince();
                foreach (DataRow row1 in dt1.Rows)
                {
                    TreeNode tn = new TreeNode();
                    tn.Text = row1["RP_Name"].ToString();
                    tn.Value = row1["RP_Id"].ToString();
                    this.TreeView1.Nodes.Add(tn);
                    DataTable dt2 = SqlDAL.department.listCity(Convert.ToInt32(row1["RP_Id"]));
                    foreach (DataRow row2 in dt2.Rows)
                    {
                        TreeNode tn2 = new TreeNode();
                        tn2.Text = row2["RC_Name"].ToString();
                        tn2.Value = row2["RC_Id"].ToString();
                        tn.ChildNodes.Add(tn2);
                        DataTable dt3 = SqlDAL.department.listContry(Convert.ToInt32(row2["RC_Id"]));
                        foreach (DataRow row3 in dt3.Rows)
                        {
                            TreeNode tn3 = new TreeNode();
                            tn3.Text = row3["RCY_Name"].ToString();
                            tn3.Value = row3["RCY_Id"].ToString();
                            tn2.ChildNodes.Add(tn3);
                        }
                    }
                }
            }
        }
        protected void TreeView1_TreeNodeCheckChanged(object sender, TreeNodeEventArgs e)
        {
            SetChildChecked(e.Node);
        }

        private void SetChildChecked(TreeNode parentNode)
        {
            foreach (TreeNode tn in parentNode.ChildNodes)
            {
                tn.Checked = parentNode.Checked;
                if(tn.ChildNodes.Count>0)
                {
                    SetChildChecked(tn);
                }
            }
        }
    }

    //获取最末节点的值

    protected void Button1_Click(object sender, EventArgs e)
        {
            for (int i = 0; i < this.TreeView1.Nodes.Count; i++)
            {
                if (TreeView1.Nodes[i].Checked == true)
                {
                    for (int j = 0; j < this.TreeView1.Nodes[i].ChildNodes.Count; j++)
                    {
                        if (this.TreeView1.Nodes[i].ChildNodes[j].Checked == true)
                        {
                            for (int k = 0; k < this.TreeView1.Nodes[i].ChildNodes[j].ChildNodes.Count; k++)
                            {
                                if (this.TreeView1.Nodes[i].ChildNodes[j].ChildNodes[k].Checked == true)
                                {
                                    Response.Write(this.TreeView1.Nodes[i].ChildNodes[j].ChildNodes[k].Value.ToString());
                                }
                            }
                        }
                    }
                }
            }              
        }

  • 相关阅读:
    内存中字的存储
    代码段
    CPU运行的流程
    字的传送
    内存中字的存储
    c语言中求数组元素的最大值和最小值
    linux系统 centos8.3 中安装 Rsudio
    Error in .External2(C_X11, paste0("png::", filename), g$width, g$height, : 解决linux R绘图问题
    linux系统中使用R的Cairo绘制png格式图片
    c语言中利用二维数组统计考试成绩之和
  • 原文地址:https://www.cnblogs.com/yhb199/p/1232565.html
Copyright © 2011-2022 走看看