我要做成这样的效果:
栏目1(有这个栏目的名字,缩略图)
子栏目a(同样有这个栏目的名字,缩略图)
子栏目b(同样有这个栏目的名字,缩略图)
栏目2(有这个栏目的名字,缩略图)
子栏目c(同样有这个栏目的名字,缩略图)
子栏目d(同样有这个栏目的名字,缩略图)只有两极,就是有缩略图不好办阿,我用树可以弄的如果没有缩略图的话,麻烦大家给个思路阿!代码更好!
当然还要对栏目进行维护的功能了,比如添加子栏目或栏目!

解决方案 »

  1.   

    这个很简单啊,CSS+DIV实现http://www.ebookit.cn
      

  2.   

    用flytreeview这个控件吧
    flytreeview这个控件可以象gidview那样使用模板定义的显示样式的
      

  3.   

    您的图是什么意思啊,是不是这样啊:
    public void InitTree(TreeView tree,DataSet ds)
    {
    tree.Nodes.Clear();
    if (null == ds) return;
    if (ds.Tables.Count <= 0) return; DataRow[] rowList = ds.Tables[0].Select(TableTree.FATHERID + "='-1'",TableTree.ORDERBY);
    foreach (DataRow row in rowList)
    {
    TreeNode node = new TreeNode();
    node.Text = row[TableTree.DESN].ToString();
    node.NavigateUrl = "MainManage.aspx?TableName=" + row[TableTree.TABLENAME].ToString()
        + "&TreeID=" + row[TableTree.TABLETREEID].ToString();
    node.Target = "Main";
    node.Value = row[TableTree.TABLETREEID].ToString() + "|" + row[TableTree.TABLENAME].ToString();
    tree.Nodes.Add(node); CreateSubTree(node,ds,expand);
    }
    } /// <summary>
    /// 创建树的子结点
    /// </summary>
    public void CreateSubTree(TreeNode parentNode,DataSet ds)
    {
    string value = parentNode.Value.Substring(0,parentNode.Value.IndexOf("|"));
    DataRow[] rowList = ds.Tables[0].Select(TableTree.FATHERID + "='" + value + "'",TableTree.ORDERBY);
    foreach (DataRow row in rowList)
    {
    TreeNode node = new TreeNode();
    node.Text = row[TableTree.DESN].ToString();
    node.NavigateUrl = "MainManage.aspx?TableName=" + row[TableTree.TABLENAME].ToString()
    + "&TreeID=" + row[TableTree.TABLETREEID].ToString();
    node.Target = "Main";
    node.Value = row[TableTree.TABLETREEID].ToString() + "|" + row[TableTree.TABLENAME].ToString();
    parentNode.ChildNodes.Add(node); CreateSubTree(node,ds,expand);
    }
    }通过第一个函数初始化以及栏目,第二个函数初始化子级栏目,同时引用递归调用,
    更改时操作数据库就行了,没必要再写了; 
    函数中的参数意义如下:
    tree为您要初始化的输得名称
    ds为您要的数据集合
      

  4.   

    to:lichaoliulichaoliu =============================================
    treeview不能有图啊
      

  5.   

    to:  wanghui0380 =======================================
    flytreeview这个控件  vs2005里没有把!
      

  6.   

    treeview并非不能有图
    治标的方法:在显示页面前那个事件里,改写node的innerHtml
    治本的方法:就像flytreeview,radtreeview那样继承并改写treeview,这个麻烦点不过人家已经有成品了,我们拿过来用就是了
      

  7.   

    http://d.download.csdn.net/down/247854/wuqing0312
      

  8.   

    to:     wanghui0380   ======================================
    老大,问题是这个控件我的vs2005里没有啊,怎么用啊,麻烦我告诉我啊!
      

  9.   

    下载并安装(如果怕没原版例子,你可以去官方下正版安装文件安装)
    在工具箱里添加控件把控件加入工具箱后,就可以拖动使用了  这是vs2005这个ide最基本的使用方法如果你还是不会的话,那就用现成的treeview把,不过麻烦点,需要继承并重载一些方法以扩展treeview的功能,我下面写了个例子,看明白了自己改
        public class tnodes:TreeNode
        {
            public string img; //新加了一个属性img表示图片地址
            protected override void RenderPreText(HtmlTextWriter writer)
            {
               
                base.RenderPreText(writer);
               
            }
            protected override void RenderPostText(HtmlTextWriter writer)
            {
                writer.WriteLine(@"<img src='"+img+"'/>"); //这里只是简单的演示一下,给其追加图片显示,不过没有加css及大小控制,也没判断img==null的状况,ViewState和postback部分也没处理,你看明白过程了,自己把这些处理了把
                base.RenderPostText(writer);
            }
        }
        protected void Page_Load(object sender, EventArgs e)
        {        tnodes mynode = new tnodes();
            mynode.Text = "tu";
            mynode.img= "xx.jpg";//给node加图片的地址
            TreeView1.Nodes.Add(mynode);
        }
      

  10.   

    to:  wanghui0380
    =====================================================================
    老大你还在吗?你这样可以改图片 吗?