问题:我在 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”事件。在[设计]模式下双击 TreeView 控件可以轻松生成 stub 。然后,您可以根据需要使用数据执行如下操作(MessageBox 只是一个示例)。
private void naviTree_AfterSelect(object sender, TreeViewEventArgs e)
{
MessageBox.Show("The node you just selected is [" + e.Node.ToString() + "]");
}
希望这对您有所帮助。
我是一名优秀的程序员,十分优秀!