none
treeview的一些问题 RRS feed

  • 问题

  • treeview有两层节点,如果点击父节点的文本而不是+/--就展开该怎么做??另外,点击父节点展开时不能弹出层,而点击最末子节点时这弹出层,该怎么做?????
    学习,学习,再学习..........
    • 已编辑 ysyy 2009年10月23日 4:34 写错
    2009年10月23日 3:16

答案

全部回复

  • 设置TreeNode.SelectAction 属性 TreeNodeSelectAction.Expand

    第二个问题是判断节点是否有子节点

    【孟子E章】
    • 已标记为答案 ysyy 2009年10月27日 7:42
    2009年10月23日 3:26
    版主
  • 我是根据数据库的值动态加载节点的,在根节点也加了TreeNode.SelectAction 属性 TreeNodeSelectAction.Expand ,我也判断了是否是子节点,点击子节点是层也弹出来了,但是再点击父节点时层怎么都不会隐藏。
    现在主要问题是点击父节点时层怎么都不会隐藏
    学习,学习,再学习..........
    2009年10月23日 3:44
  • 页面:
    <%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Equips.aspx.cs" Inherits="ResourceManagement.Web.Equips" %> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" > <head id="Head1" runat="server"> <title>xxxx</title> </head> <body> <form id="form1" runat="server"> <asp:TreeView ID="TreeView2" runat="server" onselectednodechanged="TreeView2_SelectedNodeChanged" ShowLines="True" SelectedNodeStyle-CssClass="div1"> </asp:TreeView> <div runat="server" id="div1" style="display:none"> <asp:Label ID="Label33" runat="server" Text="类型:"></asp:Label> <asp:TextBox ID="TextBox5" runat="server"></asp:TextBox> </div> </form> </body> </html>

    代码:
    //加载Treeview
     

    protected void Page_Load(object sender, EventArgs e)
            {
                     if (!Page.IsPostBack)
                {
                      string sql17 = "select distinct eq_type from equipment";
                    DataTable dt17 = db.getTable(sql17);
                    for (int i17 = 0; i17 < dt17.Rows.Count; i17++)
                    {
                        if (dt17.Rows[i17][0].ToString() != "xxx")
                        {
    
                            node8 = new TreeNode(dt17.Rows[i17][0].ToString());
                            node8.SelectAction = TreeNodeSelectAction.Expand;//此处点击文本展开
                            
                            this.TreeView2.Nodes.Add(node8);
                            string sql18 = "select eq_name from equipment where eq_type = '" + dt17.Rows[i17][0].ToString() + "' and eq_bool ='0' ";
                            DataTable dt18 = db.getTable(sql18);
                            for (int i18 = 0; i18 < dt18.Rows.Count; i18++)
                            {
                                node9 = new TreeNode(dt18.Rows[i18][0].ToString());
                               
                                node8.ChildNodes.Add(node9);
                            }
                        }
    
                    }
                }
            }
    //弹出层:
     
     protected void TreeView2_SelectedNodeChanged(object sender, EventArgs e)
            {
               //判断是否最后一个节点
                if (TreeView2.SelectedNode.ChildNodes.Count == 0)
                {
                    //判断是否有父节点 
                    if (TreeView2.SelectedNode.Parent != null)
                    {
       this.div1.Attributes.Add("style", "height: 51px; width: auto; top: " + 300 + "px; left: " +200 + "px; position: absolute; display:inline");//显示
                    }else
                    {
    this.div1.Attributes.Add("style", "display:none");
    //隐藏
                     }
                }
             }
    帮我看看有什么问题
    学习,学习,再学习..........
    • 已编辑 ysyy 2009年10月23日 4:57 错误
    2009年10月23日 4:46
  • ?????
    学习,学习,再学习..........
    2009年10月23日 5:45
  • 贴你代码。
    你运行上面的例子就能看到了
    【孟子E章】
    2009年10月23日 13:53
    版主