none
TreeView的SelectedNodeStyle和HoverNodeStyle不能共存吗 RRS feed

  • 问题

  • 我想做TreeView选中的时候,背景是红色,鼠标移上去的时候,背景是绿色,

    可我发现TreeView的SelectedNodeStyle和HoverNodeStyle不能共存

    要实现这两种效果,该怎么办呢

    2010年4月22日 5:00

答案

  • <asp:TreeView ID="TreeView2" runat="server" HoverNodeStyle-BackColor="Green" 
        SelectedNodeStyle-BackColor=Red >
      </asp:TreeView>
     protected void Page_Load(object sender, EventArgs e)
      {
      
        if (!IsPostBack)
        {
          TreeNode tn = new TreeNode();
          tn.Text = "中国";
          tn.Value = "中国";
          TreeNode tn1 = new TreeNode();
          tn1.Value = "河南";
          tn1.Text = "河南";
          tn.ChildNodes.Add(tn1);
          TreeNode tn2 = new TreeNode();
          tn2.Value = "河北";
          tn2.Text = "河北";
          tn.ChildNodes.Add(tn2);
    
          TreeView2.Nodes.Add(tn);
         
        }
       
       
      }

     

    我这里可以,你是怎么写的

     


    努力+方法=成功
    • 已标记为答案 m s 2010年4月23日 8:15
    2010年4月22日 10:56
  •         <asp:TreeView ID="TreeView2" runat="server">
                <SelectedNodeStyle BackColor="Red" />
                <HoverNodeStyle BackColor="Green" />
            </asp:TreeView>

     

    protected void Page_Load(object sender, EventArgs e)
      {
     
        if (!IsPostBack)
        {
          TreeNode tn = new TreeNode();
          tn.Text = "中国";
          tn.Value = "中国";
          TreeNode tn1 = new TreeNode();
          tn1.Value = "河南";
          tn1.Text = "河南";
          tn.ChildNodes.Add(tn1);
          TreeNode tn2 = new TreeNode();
          tn2.Value = "河北";
          tn2.Text = "河北";
          tn.ChildNodes.Add(tn2);

          TreeView2.Nodes.Add(tn);

        }

    }

     

    这样也可以,奇怪我的就不行

    • 已标记为答案 m s 2010年4月23日 8:17
    2010年4月23日 8:17

全部回复

  • <asp:TreeView ID="TreeView1" runat="server" HoverNodeStyle-BackColor="Green" 
            SelectedNodeStyle-BackColor=Red EnableViewState="False">
    <HoverNodeStyle BackColor="Green"></HoverNodeStyle>
    
    <SelectedNodeStyle BackColor="Red"></SelectedNodeStyle>
            <Nodes>
              <asp:TreeNode Text="中国" Value="中国">
                <asp:TreeNode Text="河南" Value="河南" ></asp:TreeNode>
                <asp:TreeNode Text="河北" Value="河北"></asp:TreeNode>
              </asp:TreeNode>
            </Nodes>
          </asp:TreeView>

    努力+方法=成功
    2010年4月22日 5:22
  • 如果节点是动态生成的,就失效了

    2010年4月22日 5:33
  • <asp:TreeView ID="TreeView2" runat="server" HoverNodeStyle-BackColor="Green" 
        SelectedNodeStyle-BackColor=Red >
      </asp:TreeView>
     protected void Page_Load(object sender, EventArgs e)
      {
      
        if (!IsPostBack)
        {
          TreeNode tn = new TreeNode();
          tn.Text = "中国";
          tn.Value = "中国";
          TreeNode tn1 = new TreeNode();
          tn1.Value = "河南";
          tn1.Text = "河南";
          tn.ChildNodes.Add(tn1);
          TreeNode tn2 = new TreeNode();
          tn2.Value = "河北";
          tn2.Text = "河北";
          tn.ChildNodes.Add(tn2);
    
          TreeView2.Nodes.Add(tn);
         
        }
       
       
      }

     

    我这里可以,你是怎么写的

     


    努力+方法=成功
    • 已标记为答案 m s 2010年4月23日 8:15
    2010年4月22日 10:56
  • 我也是后台添加的,奇怪,我的就不行,我也不知道为什么
    2010年4月23日 8:15
  •         <asp:TreeView ID="TreeView2" runat="server">
                <SelectedNodeStyle BackColor="Red" />
                <HoverNodeStyle BackColor="Green" />
            </asp:TreeView>

     

    protected void Page_Load(object sender, EventArgs e)
      {
     
        if (!IsPostBack)
        {
          TreeNode tn = new TreeNode();
          tn.Text = "中国";
          tn.Value = "中国";
          TreeNode tn1 = new TreeNode();
          tn1.Value = "河南";
          tn1.Text = "河南";
          tn.ChildNodes.Add(tn1);
          TreeNode tn2 = new TreeNode();
          tn2.Value = "河北";
          tn2.Text = "河北";
          tn.ChildNodes.Add(tn2);

          TreeView2.Nodes.Add(tn);

        }

    }

     

    这样也可以,奇怪我的就不行

    • 已标记为答案 m s 2010年4月23日 8:17
    2010年4月23日 8:17