我正在以编程方式在表格的行内创建树。 工作正常,但无法获取指定的事件:
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)
}
}
如果选中子节点的复选框,我如何调用事件?
非常感谢。
答案 0 :(得分:0)
请改变 childNodes.SelectAction = TreeNodeSelectAction.None 至 childNodes.SelectAction = TreeNodeSelectAction.Select;
答案 1 :(得分:0)
我通过添加事件找到了解决方案,如下所示:
arbolCapas.Attributes.Add("onclick", "OnCheckBoxCheckChanged(event)");
然后,在javascript:
function OnCheckBoxCheckChanged(evt) {
alert("check change");
}
这里是解决方案: