怎么用递归 绑定数据库 显示在treeview中

最好能写完整的代码,谢谢各位大侠帮忙啦!用递归法绑定数据,不是直接绑定数据。... 最好能写完整的代码,谢谢各位大侠帮忙啦! 用递归法绑定数据,不是直接绑定数据。 展开
 我来答
lujiaojava
2010-05-09
知道答主
回答量:4
采纳率:0%
帮助的人:0
展开全部

这是以前写的,可以参考一下!

treeView里面实现数据绑定

    DataSet ds;

    protected void Page_Load(object sender, EventArgs e)

    {

        if (!IsPostBack)

        {

            //以下是绑定数据

            SqlConnection con = new 

                             SqlConnection("server=.;database=Test;uid=sa;pwd=sa");

            SqlDataAdapter adapter = new SqlDataAdapter("select * from TreeViewTest", con);

            ds = new DataSet();

            adapter.Fill(ds, "TreeViewTest");

            //初始化TreeView :TreeView1.Nodes:表示TreeView1的节点集合 ,"0"表示的是最顶上节点没有父节点

            InitTree(TreeView1.Nodes, "0");

        }

    }

    /// <summary>

    /// 初始化TreeView 

    /// </summary>

    /// <param name="Nds">TreeNodeCollection:节点的集合</param>

    /// <param name="parentId">parentId:某一节点的父节点ID</param>

    private void InitTree(TreeNodeCollection Nds, string parentId)

    {

        DataView dv = new DataView();

        TreeNode tmpNd;

        //string intId;

        dv.Table = ds.Tables["TreeViewTest"];

        //筛选出 ParentId【父节点ID】为传入值【parentId】的所有的数据行 为"0"时表时选出所有的顶节点数据行

        dv.RowFilter = "ParentId='" + parentId + "'";

        //将筛选出的所有的数据行添加到节点

        foreach (DataRowView drv in dv)

        {

            tmpNd = new TreeNode();

            tmpNd.Value = drv["NodeId"].ToString();

            tmpNd.Text = drv["NodeName"].ToString();

            Nds.Add(tmpNd);

            //判断是不是存在drv["NodeId"]的ChildNodes,存在的话添加,不存在就继续遍历

            DataView dvTemp = new DataView();

            dvTemp.Table = ds.Tables["TreeViewTest"];

            dvTemp.RowFilter = "ParentId='" + drv["NodeId"].ToString() + "'";

            if (dvTemp.Count != 0)

            { 

               InitTree(tmpNd.ChildNodes, tmpNd.Value);

            }

        }

    }

推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式