フロントエンド コード コードをコピー コードは次のとおりです: <br>//クライアント キャプチャ イベント<br>function CheckEvent() { <br>var objNode =event.srcElement; <br>if (objNode.tagName == "INPUT" && objNode.type == "チェックボックス ") { <br>var objParentDiv = objNode.id.replace("CheckBox", "ノード"); <br>if (objNode.checked == true) { <br>setChildCheckState(objParentDiv, true); 🎜> setParentCheckeState(objNode, true); <br>} <br>else { <br>setChildCheckState(objParentDiv, false); <br>if (!HasOtherChecked(objNode)) { <br>setParentCheckeState(objNode, false); <br>} <br>} <br>} <br>} <br>//他の並列ノードが選択されているかどうかを判断します<br>function HasOtherChecked(objNode) { <br>var objParentDiv = WebForm_GetParentByTagName(objNode, "div" ); <br>var chks = objParentDiv.getElementsByTagName("INPUT"); <br>for (var i = 0; i <chks.length i>if (chks[i].checked && chks) [i].id != objNode.id) { <br>return true; <br>} <br>} <br>return false; <br>} <br>//親ノードを設定します<br>関数 setParentCheckeState ( objNode, chkstate) { <br>try { <br>var objParentDiv = WebForm_GetParentByTagName(objNode, "div"); <br>if (objParentDiv == null || objParentDiv == "unknown ") { <br>return; <br>} <br>else { <br>var objParentChkId = objParentDiv.id.replace("Nodes", "CheckBox"); <br>var objParentCheckBox = document.getElementById(objParentChkId); { <br>objParentCheckBox.checked = chkstate; <br>setParentCheckeState(objParentDiv, chkstate); <br>} <br>} <br>catch (e) { } <br>} <br>//子ノードを設定します <br>function setChildCheckState(nodeid, chkstate) { <br>var node = document.getElementById(nodeid) <br>if (node) { <br>var chks = node.getElementsByTagName("INPUT"); <br>for (var i = 0; i chks[i].checked = chkstate; <br>} <br>} <br>} <br></スクリプト> <br><body> <br><form id="form1" runat="server"> <br><asp:TreeView ID="TreeView1" runat="server" ShowCheckBoxes="All" onclick ="CheckEvent()"> <br></form> <br><br> <br> <br><br><br></chks.length> </div>コードをコピー<br><br><div class="codetitle"> コードは次のとおりです:<span><a style="CURSOR: pointer" data="71468" class="copybut" id="copybut71468" onclick="doCopy('code71468')"> <u>private void BindGrid() </u>{ </a> DataTable mytable = menuTableBll .GetAllList().Tables[0]; //データを取得</span>CreateTree(mytable, TreeView1.Nodes, "0") </div>} <div class="codebody" id="code71468">private void CreateTree(DataTable dtNodeSets, TreeNodeCollection ノード) , stringparent_id) <br>{ <br>DataView dvList = new DataView(dtNodeSets); <br>dvList.RowFilter = "MeunParentId ="parent_id; <br>TreeNode <br>foreach (dvList の DataRowView dv) 🎜>{ <br>nodeTemp = new TreeNode(); <br>nodeTemp.Text = dv["MenuName"].ToString(); <br>nodeTemp.ToolTip = true; MeunId"].ToString(); <br>node.Add(nodeTemp); <br>CreateTree(dtNodeSets, nodeTemp.ChildNodes, dv["MeunId"].ToString()); <br>} <br>} <br><br> </div>