code/Athena0.0.1/common/Util/WebControl/Tree/AreaTree.cs
(开头部分) 2KB这里只显示每个文件的开头 60 行。登录后可以解锁完整代码。
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Athena.model;
using Athena.Idal;
using Athena.basedal;
namespace Athena.common.Util.WebControl
{
/// <summary>
/// 项目名称:腾杰超轻量级开发框架
/// 开发者:陈兰兰
/// 模块名称和描述:区域树
/// 最后更新时间:2017/4/9
/// 日志说明:
/// </summary>
public class AreaTree
{
private area area { get; set; }
public int id { get { return area.id; } }
public string text { get { return area.fullname; } }
public bool @checked { get; set; }//加@是因为和关键字冲突
private List<area> arealist { get; set; }//已有的地区
private List<AreaTree> _children;
public List<AreaTree> children
{
get
{
if (_children == null)
_children = new List<AreaTree>();
return _children;
}
}
public IareaEx IareaEx = IocModule.GetEntity<IareaEx>();
/// <summary>
/// 构造函数,返回树形区域信息并且勾选已有区域
/// </summary>
/// <param name="currentNode"></param>
/// <param name="arealist">已拥有区域</param>
public AreaTree(area currentNode, List<area> arealist)
{
this.area = currentNode;
this.arealist = arealist;
if (currentNode != null)
{
List<area> allNodes = IareaEx.getEntityList().Where(p => Convert.ToInt32(p.parentid) == currentNode.id).ToList();//获取属于这个节点的子节点
foreach (area an in allNodes)//遍历当前节点下的所有子节点
{
AreaTree at = new AreaTree(an, arealist);
at.@checked = false;
if (arealist.Where(p => p.id == an.id).Count() > 0)
at.@checked = true;
this.children.Add(at);//递归创建子节点
}
}
}
/// <summary>
/// 构造函数,单纯显示树形
后面还有 15 行代码,解锁后查看完整代码
24 小时内免费解锁 3 个项目,之后 1 积分/个。 规则说明
AI 解读
登录后可用,每次 10 积分,解读结果公开显示在下面。
还没有人解读过这个文件。
