这样的树图形要求每一行都可以在后台更改,要怎么弄啊?

解决方案 »

  1.   

    Ext有更好的效果,它上面的导航是json数据
    你的json数据完全可以控制在页面加载是从后台获取
      

  2.   

    MVC里面有个mvchtmlstring,在后台生成HTML代码
      

  3.   

    实现方法很多的哦!
    1、先把类数据从数据库读取出来,比如“中式系列”、“欧式系列”,分别保存在一个变量里,如 public string m_class1='中式系列',public string m_class2='欧式系列',当然变量的值是通过sdr来读取的字段值。这样就可以放在你的前台的菜单里了,象这样绑定<%=m_class1 %>然后就可以用repeater或者DataList来绑定类里面的其他列了。
    2、Extjs是个不错的工具哦。
    3、还是JS啊,Ajax\jquery等等的工具
      

  4.   

    我是这样做的,新建一个表,专门装这个分类的表结构:ID(int),ParentID,typeName(nvarchar)...如,新插入一条数据:  values('1','0','中式系列');这里面,parentID=0就说明,这个是根类别。如果在这个根类下面添加类别,就把该根类的ID传给下一级的parentID如:
    values('2','1','餐具系列')
    values('3','1','茶具系列')
    values('4','1','茶具系列')类推,如果新增一个根类别: values('1','0','欧式系列');
    ……不知道,这样说,你明不明白
      

  5.   

    我感觉这些分类都是存在数据库里,然后进行分级的,比如有个parentid来记录,为0时就是第一集,为1时,就是属于id为1的数据的子项

    Id  name   parentid
    1   中式系列 0
    2   餐具     1
    3   茶具     1
    4   杯碟     1
    5    欧式系列 0
    6   叉类     5
      

  6.   

    用个treenode就可以了。在后台修改对应的节点值
      

  7.   

    ··· 
    在数据库里面吧第一列。第二列。第三列的属性设置好。
    然后读取出来 用treenode进行添加。 
      

  8.   

    我用的reapter嵌套,可是子列不显示,用dridview测试下,已经取出了奉上代码:
    前台:<asp:Repeater ID="repleftroot" runat="server">
                                <ItemTemplate>
                                    <li style="background: url(images/leftbg1.jpg) no-repeat; font-weight: 600; color: #b47220;">
                                        <div class="l_t1">
                                            <img src="images/jh.png" /></div>
                                        <div class="l_t2">
                                            <a href='products.aspx?id=<%#Eval("id")%>'><%#Eval("protypename")%></a></div>
                                    </li>
                                    <div class="l_xl">
                                        <ul>
                                            <asp:Repeater ID="repleft" runat="server">
                                                <ItemTemplate>
                                                    <li>
                                                        <div class="l_t3">
                                                            <img src="images/jh.jpg" /></div>
                                                        <div class="l_t2">
                                                            <a href='products.aspx?id=<%#Eval("id")%>'>
                                                            <%#Eval("proname")%></a></div>
                                                    </li>
                                                </ItemTemplate>
                                            </asp:Repeater>
                                        </ul>
                                    </div>
                                </ItemTemplate>
                            </asp:Repeater>后台:数据绑定的就不写了,确认已经道出了子列的数据了写下这个,根reapter的循环事件
     private void repleftroot_ItemDataBound(object sender, System.Web.UI.WebControls.RepeaterItemEventArgs e)
            {
                if (e.Item.ItemType == ListItemType.Item || e.Item.ItemType == ListItemType.AlternatingItem)
                {
                    Repeater repleft = (Repeater)e.Item.FindControl("repleft");
                    DataRowView rowv = (DataRowView)e.Item.DataItem;
                    string protypename = rowv["protypename"].ToString();
                    repleft.DataSource = pd.GetList(" protype=" + "'" + protypename + "'");
                    repleft.DataBind();
                }
            }
    按理说,每循环一次就绑定一次子节点数据应该显示啊,可是现在不显示。
      

  9.   

    在后台写的:
     private void InitTree()
            {            
                SqlDataAdapter adapter1 = atnc.page(0, "", "", "", DateTime.Now, "", "", DateTime.Now, "TreeFather");
                DataSet ds = new DataSet();
               
                adapter1.Fill(ds);
                gzzgTree.Nodes.Clear();
                TreeNode treeNode;
                TreeNode treeNode1;
                //string parentid = "";            foreach (DataRow row in ds.Tables[0].Rows)
                {
                    treeNode = new TreeNode();
                    treeNode1 = new TreeNode();                string fatherid = row["id"].ToString();                treeNode.ID = row["id"].ToString(); //章号                treeNode.Text = row["act"].ToString();               
                    treeNode.NavigateUrl = "Regulation_Edit.aspx?id=" + row["id"].ToString() + "";
                    treeNode.Target = "cmsmain";
                    gzzgTree.Nodes.Add(treeNode);
                    
                    if (gzzgTree.Nodes.Count != 0)
                    {
                        SqlDataAdapter adapter2 = atnc.page(0, fatherid, "", "", DateTime.Now, "", "", DateTime.Now, "TreeSon");
                        DataSet ds2 = new DataSet();                    adapter2.Fill(ds2);
                        foreach (DataRow row2 in ds2.Tables[0].Rows)
                        {
                            treeNode1 = new TreeNode();
                            treeNode1.ID = row2["id"].ToString(); //部分id
                            treeNode1.Text = row2["part"].ToString();                        treeNode1.NavigateUrl = "Regulation_Edit.aspx?id=" + treeNode1.ID + "";
                            treeNode1.Target = "cmsmain";                        treeNode.Nodes.Add(treeNode1);
                            
                        }
                       
                    }
                   
                }        }
      

  10.   

    用Ztree实现吧 有现成的例子·
      

  11.   

    http://blog.csdn.net/wxr0323/article/details/6404253