绑定控件treeview

public class TreeBuilder
{
    public static StoreDataSetTableAdapters.CategoriesTableAdapter DA;//调用一个数据集
    static TreeBuilder()
    {
        DA = new StoreDataSetTableAdapters.CategoriesTableAdapter();
    }
    /// <summary>
    ///  TreeView绑定dataset里面的数据
    /// </summary>
    /// <param name="treeview">TreeView空间</param>
    public static void TreeViewCategories(TreeView treeview)
    {
        treeview.Nodes.Clear();//清空空间里的节点
        var Categories = DA.GetDataByCategory(); //调用dataset数据集里面的sql语句(SELECT *  FROM Categories WHERE  ParentCategoryID IS NULL
        foreach (var item in Categories)//遍历dataset里面的每一个数据
        {
            TreeNode tn = new TreeNode();//定义一个treeNode空间节点
            tn.Value = item.CategoryID.ToString();//用treeNode来接收dataset里的CategoryID数据
            tn.Text = item.CategoryName;//用treeNode来接收dataset里的CategoryName数据
            TreeNodeCategoryName(tn);//调用这个方法
            treeview.Nodes.Add(tn);//添加到TreeView控件里面去
        }
        treeview.ExpandAll();//展开子节点
    }
    /// <summary>
    /// 遍历循环子节点
    /// </summary>
    /// <param name="TN">传进来的节点</param>
    private static void TreeNodeCategoryName(TreeNode TN)
    {
        var id = int.Parse(TN.Value);//得到当前CategoryID的值
        //调用dataset数据集里面的sql语句(SELECT * FROM  Categories WHERE ParentCategoryID = @ParentCategoryID ORDER BY DisplayOrder
        var ParentCategoryID = DA.GetDataByParentCategoryID(id);
        foreach (var item in ParentCategoryID)//遍历dataset里面的每一个数据
        {
            TreeNode treenode = new TreeNode()//定义一个treeNode空间节点
            {
                Value = item.CategoryID.ToString(),//用treeNode来接收dataset里的CategoryID数据
                Text = item.CategoryName.ToString()//用treeNode来接收dataset里的CategoryName数据
            };
            TreeNodeCategoryName(treenode);//调用自己找下个节点
            TN.ChildNodes.Add(treenode);//添加到TreeView控件里面去
        }
    }
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值