App_Code/CommonComponent/Tree.cs

(开头部分) 3KB

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

using System;
using System.Data;
using Meiqi.DataAccessLayer;

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

		/// <summary>
		/// 根据DataTable对象,生成一棵树
		/// </summary>
		/// <param name="dataTable">树中节点的数据</param>
		/// <returns>树的HTML代码</returns>
		public string CreateTree(DataTable dataTable)
		{
			this._dataTable=dataTable;
			this.CreateSubTree(0);
			return _treeHtml;	
		}

		/// <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)
			{
				if(Convert.ToInt32(dr["ParentId"])==parentId)
				{
					childNodes.ImportRow(dr);
				}
			}

			return childNodes;
		}

		/// <summary>
		/// 判断编号为nodeId的节点是否为叶子节点
		/// </summary>
		/// <param name="nodeId">待判断的节点编号</param>
		/// <returns>是叶子节点:返回true;否则:返回false</returns>
		private bool IsLeaf(int nodeId)
		{
			foreach(DataRow dr in this._dataTable.Rows)
				if(Convert.ToInt32(dr["ParentId"])==nodeId)
					return false;
			return true;
		}

后面还有 62 行代码,购买后查看完整代码

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

AI 解读 AI

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

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