当前位置: 移动技术网 > IT编程>开发语言>c# > C# TreeView读取数据库简单实例

C# TreeView读取数据库简单实例

2019年07月18日  | 移动技术网IT编程  | 我要评论
效果: 数据库: 思路: 利用for遍历,然后创建父节点,再根据父节点创建出子节点。 代码:复制代码 代码如下:using system;using sys

效果:

数据库:

思路:

利用for遍历,然后创建父节点,再根据父节点创建出子节点。

代码:

复制代码 代码如下:

using system;
using system.collections.generic;
using system.linq;
using system.web;
using system.web.ui;
using system.web.ui.webcontrols;
using system.data;
using system.collections;
using system.configuration;
using system.data.sqlclient;

 

namespace treeview
{
    public partial class treeview : system.web.ui.page
    {
        string connection = configurationmanager.connectionstrings["sqlconnection"].tostring();
        protected void page_load(object sender, eventargs e)
        {
            select();
            createtree();
        }
        dataset ds = new dataset();
        public dataset datas(string sql, string tablename)
        {
            sqlconnection con = new sqlconnection(connection);
            sqldataadapter sqlda = new sqldataadapter(sql, con);
            sqlda.fill(ds, tablename);
            return ds;
        }

        //parentmenu:父节点,
        //grade:标识这是第几级节点,
        //flag:标识是不是尾结点,1是 0 不是,
        //href:指向的链接
        public void select()
        {
            string sql = "select * from treeview";
            ds = datas(sql, "test");
        }

        public void createtree()
        {
            try
            {
                datatable dt = ds.tables["test"];
                sortedlist sl = new sortedlist();
                treenode tn = new treenode();
                if (dt.rows.count <= 0)
                {
                    tn.text = "空";
                    tn.value = "";
                    tn.navigateurl = "";
                    tn.target = "";
                    tn.expanded = false;
                    tn.selectaction = treenodeselectaction.selectexpand;

                }
                else
                {
                    for (int i = 0; i < dt.rows.count; i++)
                    {
                        //创建父节点
                        if (dt.rows[i]["grade"].tostring() == "1")
                        {
                            treenode node = new treenode();
                            node.text = dt.rows[i]["menuname"].tostring();
                            node.value = dt.rows[i]["menuid"].tostring();
                            if (dt.rows[i]["flag"].tostring() == "1")
                            {
                                node.navigateurl = dt.rows[i]["href"].tostring();
                                tn.target = "_bank";
                            }
                            node.expanded = false;
                            node.selectaction = treenodeselectaction.expand;
                            sl.add(node.value, node);
                            tv_method.nodes.add(node);
                        }
                        else
                        {
                            //查找父节点
                            treenode parentnod = (treenode)sl.getbyindex(sl.indexofkey(dt.rows[i]["parentmenu"].tostring()));
                            //创建子节点
                            treenode tnchild = new treenode();
                            tnchild.text = dt.rows[i]["menuname"].tostring();
                            tnchild.value = dt.rows[i]["menuid"].tostring();
                            if (dt.rows[i]["flag"].tostring() == "1")
                            {
                                tnchild.navigateurl = dt.rows[i]["href"].tostring();
                                tnchild.target = "_bank";
                            }
                            tnchild.expanded = false;
                            tnchild.selectaction = treenodeselectaction.expand;
                            sl.add(tnchild.value, tnchild);
                            parentnod.childnodes.add(tnchild);
                        }
                    }
                }
            }
            catch (exception ex)
            {
                throw ex;
            }
        }
    }
}

如您对本文有疑问或者有任何想说的,请 点击进行留言回复,万千网友为您解惑!

相关文章:

验证码:
移动技术网