App_Code/CommonComponent/Tree.cs

(开头部分) 4KB

这里只显示每个文件的开头 60 行。登录后可以解锁完整代码。

using System;
using System.Data;
using OnLineExam.DataAccessLayer;

namespace OnLineExam.CommonComponent
{
    /// <summary>
    /// 一个通用的树状菜单类
    /// </summary>
    public class Tree
    {
        private string _treeHtml;
        private DataTable _dataTable;

        private string _title = "";


        public Tree(string Title)
        {
            _title = Title;
        }

        /// <summary>
        /// 根据DataTable对象,生成一棵树
        /// </summary>
        /// <param name="dataTable">树中节点的数据</param>
        /// <returns>树的HTML代码</returns>
        public string CreateTree(DataTable dataTable)
        {
            this._dataTable = dataTable;
            string sMenu = "<div class='service-menu'>" +
                            "  <input class='menu-code-index' type='hidden' value='c849' />" +
                            "  <h2 class='menu-title'>"+ _title +"</h2>";

            DataTable childNodes = GetChilds(0);	//获取根节点的所有孩子

            foreach (DataRow dr in childNodes.Rows)
            {
                int childId = Convert.ToInt32(dr["nodeId"]);
                sMenu += "<strong class='menu-p'><i class='menu-i'></i>" + dr["Text"] + "</strong>";
                sMenu += CreateSubTree(childId);//递归
            }
           
            sMenu += "</div>";

            //this.CreateSubTree(0);
            return sMenu;
        }

        /// <summary>
        /// 获取父节点编号为parentId的所有节点,并用DataTable返回
        /// </summary>
        /// <param name="parentId">父节点编号</param>
        /// <returns>DataTable形式的所有孩子节点数据</returns>
        private DataTable GetChilds(int parentId)
        {
            DataTable childNodes = new DataTable();
            childNodes = this._dataTable.Clone();

            foreach (DataRow dr in this._dataTable.Rows)
后面还有 75 行代码,购买后查看完整代码

24 小时内免费解锁 3 个项目,之后 1 算力/个。 规则说明

AI 解读 AI

登录后可用,每次 10 算力,解读结果公开显示在下面。

还没有人解读过这个文件。