一级编码 一级名称 二级编码 二级名称     文章标题             编号 
1 党群工作 01 党务 NULL 党员思想汇报制度.doc NULL 6294
1 党群工作 01 党务 NULL 党员权利保证制度.doc NULL 6295
1 党群工作 01 党务 NULL 转变干部工作作风的有关规定.doc NULL 6311
1 党群工作 01 党务 NULL 领导干部“双重”生活制度.doc NULL 6312
1 党群工作 01 党务 NULL 领导班子建设十项制度.doc NULL 6313
1 党群工作 02 工会 NULL 教职工代表大会实施细则.doc NULL 6314
1 党群工作 02 工会 NULL 教职工困难补助及慰问金发放办法.doc NULL 6315
1 党群工作 03 共青团 NULL 优秀团干部团员评比办法.doc NULL 6316
1 党群工作 03 共青团 NULL 先进团支部评比办法.doc NULL 6317
1 党群工作 03 共青团 NULL 推荐优秀团员作党的发展对象工作制度.doc NULL 6324
1 党群工作 04 廉政建设 NULL 保密工作管理制度.doc NULL 6325
1 党群工作 04 廉政建设 NULL 保密工作纪律.doc NULL 6326
1 党群工作 04 廉政建设 NULL 贯彻《关于领导干部收入申报的规定》实施办法.docNULL 6336
1 党群工作 04 廉政建设 NULL 领导干部廉政承诺制度.doc NULL 6337
1 党群工作 04 廉政建设 NULL 领导干部廉政档案制度.doc NULL 6338
1 党群工作 04 廉政建设 NULL 领导干部廉洁自律的八项规定.doc NULL 6339
1 党群工作 04 廉政建设 NULL 领导班子六项廉政承诺.doc NULL 6340
2 行政工作 01 行政办公 NULL 会议室管理办法.doc NULL 6341
2 行政工作 01 行政办公 NULL 党政联席会议制度.doc NULL 6342
2 行政工作 01 行政办公 NULL 制发公文及上网公布的实施办法.doc NULL 6343
2 行政工作 02 教师管理 NULL 专业和学科带头人管理办法.doc NULL 6355
2 行政工作 02 教师管理 NULL 专任教师实践锻炼管理办法.doc NULL 6356
2 行政工作 03 人事管理 NULL 职工考勤办法.doc NULL 6375
2 行政工作 03 人事管理 NULL 退休职工补贴办法.doc NULL 6376
2 行政工作 04 财务管理 NULL 会计电算化管理办法.doc NULL 6377
2 行政工作 04 财务管理 NULL 内部财务管理规定.doc NULL 6378
我想读取数据库中的内容,绑定到TREEVIEW(ASP.NET C#)中,如何绑定,求求各位了

解决方案 »

  1.   

    第一步:创建一个asp.net工程,命名为TreeViewTest(自己喜欢吧,叫什么都可以)。第二步:在工程中添加一个XML文件,命名为TreeSource.xml;将Default.aspx切换到设计视图,拽进一个TreeView控件命名为TreeView1和一个XmlDataSource控件命名为XmlDataSource1,配置TreeView1的数据源为XmlDataSource1。第三步:建立数据库表(Tree_School),只需三列:create table Tree_school(            ID int primary key,            content varchar(50) not null,            parent_id varchar(50) not null)往表里插入数据吧,不过要注意里面的两个id值哦,我的试验数据如下所示:ID          content                                                       parent_id        --------- ---------------------------------------------------- -------- 1           学校                                                              0           2           学校1                                                            1           3           学校2                                                            1           4           学生1                                                            2           5           学生2                                                            2           6           学生3                                                            3           7           学生4                                                            3           8           图书1                                                            4           9           图书馆                                                          0           10          藏书室1                                                      9           第四步:开始写代码了(终于进入正题了呵呵),代码我就不多解释了,关键部位有注释的。private void BindTreeView()    ...{        SqlConnection con = new SqlConnection("data source=.;uid=sa;pwd=;database=Exsamples;");        con.Open();        string sqlstr = "select * from Tree_School where ID>0 order by parent_id";        SqlCommand cmd = new SqlCommand(sqlstr,con);        SqlDataReader sdr = cmd.ExecuteReader();        InitTreeXMl(Server.MapPath("TreeSource.xml"), sdr);    }    private void InitTreeXMl(string XmlFileName, SqlDataReader dr)    ...{        XmlDocument xmlDoc = new XmlDocument();        xmlDoc.Load(XmlFileName);        XmlNode root = xmlDoc.SelectSingleNode("rootTreenode"); //查找<rootTreenode>        //删除初根节点外的所有节点。        root.RemoveAll();        XmlElement treenode1 = (XmlElement)root;        treenode1.SetAttribute("Node_ID", "0");        treenode1.SetAttribute("Father_ID", "-1");        treenode1.SetAttribute("NodeName", "后台管理");        //循环dr中的数据,将数据逐条写入Xml文件。        while (dr.Read())        ...{            //添加第一级结点            if (treenode1.GetAttribute("Node_ID").ToString() == dr["parent_id"].ToString())            ...{                XmlElement xe = xmlDoc.CreateElement("treenode"); //创建一个<treenode>节点                xe.SetAttribute("Node_ID", dr["ID"].ToString());                xe.SetAttribute("Father_ID", dr["parent_id"].ToString());                xe.SetAttribute("NodeName", dr["content"].ToString());                treenode1.AppendChild(xe);            }            else            ...{                InnerXmlNode(root, dr, xmlDoc);            }        }        xmlDoc.Save(XmlFileName);    }    //递归往xml文件中写数据    private void InnerXmlNode(XmlNode treenode, SqlDataReader dr, XmlDocument xmlDoc)    ...{        XmlNodeList nodeList = treenode.ChildNodes;//获取treenode节点的所有子节点        foreach (XmlNode xn in nodeList)        ...{            XmlElement treenode2 = (XmlElement)xn;            if (treenode2.GetAttribute("Node_ID").ToString() == dr["parent_id"].ToString())            ...{                XmlElement xe = xmlDoc.CreateElement("treenode"); //创建一个<treenode>节点                xe.SetAttribute("Node_ID", dr["ID"].ToString());                xe.SetAttribute("Father_ID", dr["parent_id"].ToString());                xe.SetAttribute("NodeName", dr["content"].ToString());                treenode2.AppendChild(xe);                break;            }            else if (treenode2.ChildNodes.Count > 0)            ...{                                InnerXmlNode(xn, dr, xmlDoc);             }        }    }别忘了还要在Page_Load事件里加入下面的语句:if (!IsPostBack)        ...{            BindTreeView();        }别以为到这里就完了,还有最后的关键步骤,下面继续。第五步:将Default.aspx页切换到源视图,在TreeView1的html标签内加入以下代码:<DataBindings>             <asp:TreeNodeBinding DataMember="treenode" TextField="NodeName"/>             <asp:TreeNodeBinding DataMember="rootTreenode" TextField="NodeName" /></DataBindings>
      

  2.   

    非常感谢,不知能不能直接读取而不通过xml文件??
      

  3.   

     string sql = "select * from T_newstype where T_type=0";
                DataSet ds = Code.DB.Serchtb(sql, "newstype");
                for (int i = 0; i < ds.Tables["newstype"].Rows.Count; i++)
                {
                    TreeNode tn = Code.Comm.Outtree(ds.Tables["newstype"].Rows[i]["T_id"].ToString(), ds.Tables["newstype"].Rows[i]["T_name"].ToString());
                    this.NewsTree.Nodes.Add(tn);
                    DataSet dsxl = Code.DB.Serchtb("select * from T_newstype where T_type='" + tn.Value + "'", "newstypexl");
                    for (int j = 0; j < dsxl.Tables["newstypexl"].Rows.Count; j++)
                    {
                        TreeNode tnxl = Code.Comm.Outtree(dsxl.Tables["newstypexl"].Rows[j]["T_id"].ToString(), dsxl.Tables["newstypexl"].Rows[j]["T_name"].ToString());
                        tn.ChildNodes.Add(tnxl);
                    }
                }
      

  4.   

    这是我写的代码,就是不能运行,能帮我看看吗?谢谢
     SqlDataAdapter da = new SqlDataAdapter("Select distinct 码一,一级类名称 From zml", myConn);
            //实例化数据集DataSet 
            DataSet ds = new DataSet();
            da.Fill(ds, "zml");
            //下面的方法动态添加了TreeView的根节点和子节点 
            //设置TreeView的根节点 
            TreeNode tree1 = new TreeNode("文档管理");
            this.TreeView1.Nodes.Add(tree1);
            for (int i = 0; i < ds.Tables["zml"].Rows.Count; i++)
            {
                TreeNode tree2 = new TreeNode(ds.Tables["zml"].Rows[i]["一级类名称"].ToString(), ds.Tables["zml"].Rows[i]["码一"].ToString());
                string ss = tree2.Value.ToString();
                tree1.ChildNodes.Add(tree2);
                //显示TreeView根节点下的子节点 
                da = new SqlDataAdapter("Select distinct 码一,码二,二级类名称 From zml", myConn);
                da.Fill(ds, "zml1");
                for (int j = 0; j < ds.Tables["zml1"].Columns.Count; j++)
                {
                    TreeNode tree3 = new TreeNode(ds.Tables["zml1"].Rows[j]["二级类名称"].ToString(),ds.Tables["zml1"].Rows[j]["码二"].ToString());
                    tree2.ChildNodes.Add(tree3);
                }
            }