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 算力,解读结果公开显示在下面。
还没有人解读过这个文件。