树节点SelectNodeChanged事件c#
本文关键字:事件 SelectNodeChanged 树节点 | 更新日期: 2023-09-27 18:14:35
问题:我在Treeview列表中有5个节点,包括子节点。每当我选择一个节点时,它应该在组合框中自动显示节点的名称,而无需按下按钮。
当我使用ONselectednodechanged事件时,它只触发一次。因此,当我第一次点击节点时,它会触发事件,但之后它什么也不做。
有人能给我一些建议吗?我想当我点击它时,它会自动在组合框中显示节点的名称。
c#,ASP.net
以下是我迄今为止写的内容:
protected void nav_tree_items_SelectedNodeChanged(object sender, EventArgs e)
{
if (nav_view_add.Visible == true)
{
panel_helper.GroupingText = "Add";
nav_multi.SetActiveView(nav_view_add); //set active view
nav_btn_save_add.CausesValidation = true;
DataRow[] row1 = TableClass.MainTable.Select("ItemId = " + nav_tree_items.SelectedValue);
nav_dd_parent.SelectedValue = row1[0]["ItemId"].ToString().Trim();
}
当程序执行时,它甚至不会使面板可见。
<asp:TreeView ID="nav_tree_items" runat="server" Height="100%" ShowLines="True"
Width="123%" onselectednodechanged="nav_tree_items_SelectedNodeChanged">
<HoverNodeStyle CssClass="hoverTreeItem" />
当我使用TreeView时,我使用"AfterSelect"事件。在[Design]模式下双击TreeView控件可以很容易地生成存根。然后,您可以按照自己的意愿使用数据来执行以下操作(MessageBox只是一个示例(。
private void naviTree_AfterSelect(object sender, TreeViewEventArgs e)
{
MessageBox.Show("The node you just selected is [" + e.Node.ToString() + "]");
}
希望这能有所帮助。