关于treeview 的个人看法

 

好多人 包括我自己啊 对treeview 不大了解 我现在把 treeview如何绑定数据库的代码贴出来,望高手指正!

public partial class UFishing_admin_productList : System.Web.UI.Page
{
    protected void Page_Load(object sender, EventArgs e)
    {
        if (!IsPostBack)
        {
            UDALMgr dal = new UDALMgr();//UDALMgr 是自己做的一个类

            treeDS = dal.DataSet("select * from ProductStyle");
            myds.Dispose();
            InitTreeRootNode();
            treeDS.Dispose();
        }
    }
    DataSet myds = new DataSet();
    DataView dataview = new DataView();
    private DataSet treeDS;
    public void InitTreeRootNode()
    {
        DataView dataView = new DataView();
        dataView = treeDS.Tables[0].Copy().DefaultView;
        if (dataView.Table.Rows.Count == 0)
        {

            return;
        }
        dataView.RowFilter = "len(ProductStyleID)=2";
        foreach (DataRowView drv in dataView)
        {
            TreeNode tn = new TreeNode();
            tn.Value = drv["ProductStyleID"].ToString();
            //tn.ImageUrl = drv["ImageCh"].ToString();
            tn.Text = drv["ProductStyleNameCh"].ToString();
            this.TreeView1.Nodes.Add(tn);
            InitTreeChildNode(tn.ChildNodes, 2, tn.Value);
        }
    }

    private void InitTreeChildNode(TreeNodeCollection TNC, int js, string classParentID)
    {
        DataView dataView = new DataView();
        int myjs = 2 * js;
        dataView = treeDS.Tables[0].Copy().DefaultView;

        dataView.RowFilter = "len(ProductStyleID)=" + myjs.ToString() + "and ProductStyleID like '" + classParentID + "%'";
        if (js >= 4) return;
        foreach (DataRowView drv in dataView)
        {
            TreeNode tn = new TreeNode();
            tn.Value = drv["ProductStyleID"].ToString();
            tn.Text = drv["ProductStyleNameCh"].ToString();
            //tn.NavigateUrl = "SwitchPage.aspx?MenuID=" + drv["ProductStyleID"].ToString();
            tn.Target = "main";
            TNC.Add(tn);
            InitTreeChildNode(tn.ChildNodes, js + 1, tn.Value);
        }

    } 
}

这样就可以得到 99个大类,理论上可以无限分类!

原文:http://qiangzi.blog.whnews.cn/blog.php?do-showone-itemid-8469-type-blog.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值