none
treeview 问题 RRS feed

  • 问题

  • 当treeview 从数据库里读取数据页面加载后 ,treeview 点击+号显示下一级菜单,能不能点文字就显示下一级菜单和点+是一样效果.

    + 鞋
    +衣服

    点击鞋 后效果如下
    + 鞋
       运动鞋
       皮鞋
    +衣服

    注:这个+号是默认treeivew绑定后显示的那个图片效果图



    也就是说我可以点击+号后展开显示.运动鞋和皮鞋,也可以点击鞋 就展开 显示运动鞋和皮鞋.现在问题是默认只有点击+号才展开..怎么让点击鞋就展开

    我的代码如下

     

    protected void Page_Load(object sender, EventArgs e)
        {
            if (!IsPostBack)
            {
                LoginTreeBrandCatagory(TrvBrandC);

           }
        }


    public void LoginTreeBrandCatagory(TreeView tv)
        {
            string strSql = "Select distinct brandName From brandCategory";
            DataTable dt = DB.getDt(strSql);
            tv.Nodes.Clear();
            foreach (DataRow dr in dt.Rows)
            {
                TreeNode tnBrandC = new TreeNode(dr["brandName"].ToString());
             //   tnBrandC.NavigateUrl = "../Categorys.aspx?Identity1=" + tnBrandC.Text + "";
              //  tnBrandC.Target = "_self";
                tv.Nodes.Add(tnBrandC);
            }
            strSql = "Select * From ShopCategory";
            DataTable dtall = DB.getDt(strSql);
            foreach (TreeNode tnTemp in tv.Nodes)
            {
                tnTemp.ChildNodes.Clear();
                foreach (DataRow dr in dtall.Select("ShopbrandName='" + tnTemp.Text + "'"))
                {
                    TreeNode tnSecond = new TreeNode(dr["ShopcName"].ToString());

                    tnSecond.Target = "_self";
                    tnTemp.ChildNodes.Add(tnSecond);
                    tnSecond.NavigateUrl = "../Categorys.aspx?Identity1=" + tnSecond.Parent.Text + "&Identity2=" + tnSecond.Text + "";
                }
            }
           // tv.ExpandAll();//展开所有节点
            tv.CollapseAll();
        }



    不用羡慕----那,只是个传说!
    2009年3月16日 12:09

答案

  • 设置节点的
     SelectAction="Expand"
    即可

    例子
    <asp:TreeView ID="TreeView1" runat="server" Width="167px"
      <Nodes> 
        <asp:TreeNode Text="鞋" Value="鞋" SelectAction="Expand"
          <asp:TreeNode SelectAction="Expand" Text="皮鞋" Value="皮鞋"
            <asp:TreeNode Text="男皮鞋" Value="男皮鞋"></asp:TreeNode> 
          </asp:TreeNode> 
          <asp:TreeNode Text="运动鞋" Value="运动鞋"></asp:TreeNode> 
        </asp:TreeNode> 
      </Nodes> 
    </asp:TreeView> 


    当然代码设置也是一样的。

    注意:你需要使用asp.net 2.0之后的标准TreeView,不要使用asp.net2.0之前的那个Treeview控件,已经过时了。



    孟宪会
    2009年3月17日 5:17
    版主