[セットトップ]TreeViewコントロールTreeNodeCheckChendイベントは自動的に返送できません。
TreeNodeCheckChendイベントを直接使うと自動的に返送できません。すぐにページを更新して、対応する操作を実行しないです。
シナリオを通してイベントの返信をコントロールできます。コードは以下の通りです。
JSは一つの方法を追加する必要があります。
ページツリーコントロールの追加Onclickは転送をクリックします。 イベント
シナリオを通してイベントの返信をコントロールできます。コードは以下の通りです。
JSは一つの方法を追加する必要があります。
function TreeViewCheckBox_Click(e) {
if (window.event == null)
o = e.target;
else
o = window.event.srcElement;
if (o.tagName == "INPUT" && o.type == "checkbox") {
__doPostBack("", "");
}
}
この方法はFFおよびIEをサポートし、Eを伝えないとFFをサポートしない。ページツリーコントロールの追加Onclickは転送をクリックします。 イベント
<asp:TreeView ID="PermTreeView" runat="server" ExpandDepth="1" ShowLines="True"
ShowCheckBoxes="All" BorderStyle="None" Height="400px"
ontreenodecheckchanged="PermTreeView_TreeNodeCheckChanged" onclick="TreeViewCheckBox_Click(event)" >
</asp:TreeView>
サービス: protected void PermTreeView_TreeNodeCheckChanged(object sender, TreeNodeEventArgs e)
{
TreeNodeCollection node = e.Node.ChildNodes;
foreach (TreeNode item in node)
{
item.Checked = e.Node.Checked;
CheckNode(item.ChildNodes,e.Node.Checked);
}
e.Node.ExpandAll();
}
public void CheckNode(TreeNodeCollection node,bool selected)
{
foreach (TreeNode item in node)
{
item.Checked = selected;
CheckNode(item.ChildNodes,selected);
}
}
最終的な効果:親ノードをクリックして親ノードの下のすべてのサブノードを選択して展開することができます。