0

テーブルの行内にプログラムでツリーを作成しています。正常に動作しますが、割り当てられたイベントが呼び出されません:

TreeView arbolCapas = new TreeView();
            arbolCapas.ID = "capas";
            foreach (String capa in servicio.Capas)
            {
                TreeNode childNodes = new TreeNode();
                childNodes.Text = capa;
                childNodes.ShowCheckBox = true;
                childNodes.SelectAction = TreeNodeSelectAction.None;         
                arbolCapas.Nodes.Add(childNodes);                
            }            
            arbolCapas.SelectedNodeChanged +=new EventHandler(arbolCapas_TreeNodeCheckChanged);
            tbC.Controls.Add(arbolCapas);
            tbR.Cells.Add(tbC);

 protected void arbolCapas_TreeNodeCheckChanged(Object sender, EventArgs e)
        {
            TreeView elemento = (TreeView)(((CheckBox)sender).Parent);
             foreach (TreeNode node in elemento.CheckedNodes) 
             {                //if (node.Checked)   
             }
        }

子ノードのチェックボックスがチェックされているときにイベントを呼び出すにはどうすればよいですか?

どうもありがとう。

4

2 に答える 2

0

childNodes.SelectAction = TreeNodeSelectAction.None を childNodes.SelectAction = TreeNodeSelectAction.Select; に変更してください。

于 2014-06-09T07:00:59.940 に答える
0

次のようにイベントを追加して解決策を見つけました。

arbolCapas.Attributes.Add("onclick", "OnCheckBoxCheckChanged(event)");

そして、JavaScriptで:

function OnCheckBoxCheckChanged(evt) {
        alert("check change");
}

ここで解決策:

http://geekswithblogs.net/ranganh/archive/2009/01/21/updated-asp.net-treeview-checkboxes-ndash-check-all-ndash-javascript.aspx

于 2014-06-10T18:29:11.357 に答える