• TreeView 用法(有代码)


    前台代码
    <script type="text/javascript">
            //客户端捕捉事件
            function CheckEvent() {
                var objNode = event.srcElement;
                if (objNode.tagName == "INPUT" && objNode.type == "checkbox") {
                    var objParentDiv = objNode.id.replace("CheckBox", "Nodes");
                    if (objNode.checked == true) {
                        setChildCheckState(objParentDiv, true);
    
                        setParentCheckeState(objNode, true);
                    }
                    else {
                        setChildCheckState(objParentDiv, false);
    
                        if (!HasOtherChecked(objNode)) {
                            setParentCheckeState(objNode, false);
                        }
                    }
                }
            }
    
            //判断是否有并行的其他节点被选中
            function HasOtherChecked(objNode) {
                var objParentDiv = WebForm_GetParentByTagName(objNode, "div");
    
                var chks = objParentDiv.getElementsByTagName("INPUT");
                for (var i = 0; i < chks.length; i++) {
                    if (chks[i].checked && chks[i].id != objNode.id) {
                        return true;
                    }
                }
                return false;
            }
    
            //设置父节点
            function setParentCheckeState(objNode, chkstate) {
                try {
                    var objParentDiv = WebForm_GetParentByTagName(objNode, "div");
    
                    if (objParentDiv == null || objParentDiv == "undefined ") {
                        return;
                    }
                    else {
                        var objParentChkId = objParentDiv.id.replace("Nodes", "CheckBox");
                        var objParentCheckBox = document.getElementById(objParentChkId);
    
                        if (objParentCheckBox) {
                            objParentCheckBox.checked = chkstate;
                            setParentCheckeState(objParentDiv, chkstate);
                        }
                    }
                }
                catch (e) { }
            }
    
            //设置子节点
            function setChildCheckState(nodeid, chkstate) {
                var node = document.getElementById(nodeid);
    
                if (node) {
                    var chks = node.getElementsByTagName("INPUT");
                    for (var i = 0; i < chks.length; i++) {
                        chks[i].checked = chkstate;
                    }
                }
            } 
        </script>
    
    
    
    <body>
        <form id="form1" runat="server">
                   <asp:TreeView ID="TreeView1" runat="server" ShowCheckBoxes="All" onclick="CheckEvent()">
                    </asp:TreeView>
        
        </form>
    </body>
    
    后台代码:
    private void BindGrid()
    {
    DataTable mytable
    = menuTableBll.GetAllList().Tables[0]; //获取数据

    CreateTree(mytable, TreeView1.Nodes,
    "0");
    }
    private void CreateTree(DataTable dtNodeSets, TreeNodeCollection node, string parent_id)
    {
    DataView dvList
    = new DataView(dtNodeSets);
    dvList.RowFilter
    = "MeunParentId =" + parent_id;

    TreeNode nodeTemp;
    foreach (DataRowView dv in dvList)
    {
    nodeTemp
    = new TreeNode();
    nodeTemp.Text
    = dv["MenuName"].ToString();
    nodeTemp.Expanded
    = true;
    nodeTemp.ToolTip
    = dv["MeunId"].ToString();


    node.Add(nodeTemp);
    CreateTree(dtNodeSets, nodeTemp.ChildNodes, dv[
    "MeunId"].ToString());
    }
    }
  • 相关阅读:
    2017-2018-1 20155301 20155307 20155339 《信息安全系统设计基础》 实验一 开发环境的熟悉
    《JAVA程序设计》第八周学习总结
    实验二《Java面向对象程序设计》实验报告
    《JAVA程序设计》第七周学习总结
    《JAVA程序设计》结对编程联系_四则运算(第二周:整体性总结)
    《JAVA程序设计》第六周学习总结
    实验一《Java开发环境的熟悉》实验报告
    《JAVA程序设计》结对编程联系_四则运算(第一周:阶段总结)
    《JAVA程序设计》第五周学习总结
    《JAVA程序设计》第四周学习总结
  • 原文地址:https://www.cnblogs.com/zgaspnet/p/2097945.html
Copyright © 2020-2023  润新知