C#递归加载目录树
2024-10-07 13:12:44
/// 获取目录管理信息集合 /// </summary> /// <returns></returns> public List<CatalogTree> GetCatalogTree() { List<CatalogTree> list = new List<CatalogTree>(); var db = DatabaseFactory.CreateDatabase("ELManage"); string sql = "select KeyId,CatalogName,ParentId,SortCode,IsFolder from EL_Catalog where EnableMark=1"; DbCommand cmd = db.GetSqlStringCommand(sql); DataTable dt = db.ExecuteDataTable(cmd); ; i < dt.Rows.Count; i++) { DataRow dr = dt.Rows[i]; CatalogTree model = new CatalogTree(); model.keyid = Convert.ToString(dr["KeyId"]); model.catalogname = Convert.ToString(dr["CatalogName"]); model.parentid = Convert.ToString(dr["ParentId"]); if (!Convert.IsDBNull(dr["SortCode"])) { model.sortcode = Convert.ToInt32(dr["SortCode"]); } if (!Convert.IsDBNull(dr["IsFolder"])) { model.isfolder = Convert.ToInt32(dr["IsFolder"]); } list.Add(model); } //获取根节点 var mds = list.Where(c => c.parentid == "-").OrderBy(t => t.sortcode).ToList(); foreach (var item in mds) { //获取子节点 item.children = GetChildrens(list, item); } return mds; }
递归获取子节点:
/// 获取目录管理信息集合 /// </summary> /// <returns></returns> public List<CatalogTree> GetCatalogTree() { List<CatalogTree> list = new List<CatalogTree>(); var db = DatabaseFactory.CreateDatabase("ELManage"); string sql = "select KeyId,CatalogName,ParentId,SortCode,IsFolder,TableName from EL_Catalog where EnableMark=1"; DbCommand cmd = db.GetSqlStringCommand(sql); DataTable dt = db.ExecuteDataTable(cmd); ; i < dt.Rows.Count; i++) { DataRow dr = dt.Rows[i]; CatalogTree model = new CatalogTree(); model.keyid = Convert.ToString(dr["KeyId"]); model.catalogname = Convert.ToString(dr["CatalogName"]); model.parentid = Convert.ToString(dr["ParentId"]); if (!Convert.IsDBNull(dr["SortCode"])) { model.sortcode = Convert.ToInt32(dr["SortCode"]); } if (!Convert.IsDBNull(dr["IsFolder"])) { model.isfolder = Convert.ToInt32(dr["IsFolder"]); } list.Add(model); } //获取根节点 var mds = list.Where(c => c.parentid == "-").OrderBy(t => t.sortcode).ToList(); foreach (var item in mds) { //获取子节点 item.children = GetChildrens(list, item); } return mds; }
最新文章
- css单位盘点
- (转)浅析Java中的访问权限控制
- C#基础之泛型
- canvas学习之圆周运动
- KStar ----BPM应用框架,K2 的新星
- div圆角和颜色渐变的设置
- transform属性
- UDP TCP 消息边界
- Proxifier设置代理
- 归并排序的C语言实现
- (转)C#Interface简介
- Spring中的DataBinding(一)
- Qt 设置对话框背景(使用调色板,设置它的画刷,画刷可以是图片)
- css盒子
- 使用Html5下WebSocket搭建简易聊天室
- 访问vm中centos的web站点
- Spring学习日志之Spring Security配置
- 洛谷 P1983 车站分级
- Thread,ThreadPool,Task
- 感悟优化——Netty对JDK缓冲区的内存池零拷贝改造