c# 树形结构的数据获取方法

///
/// 取所有子类(包括自己)的id(record_sta字段)
///
/// 记录id
/// 表名
/// 数据库名
/// id字符串(用,相隔)
public static string Get_All_Child_ids(int id, string Table_Name, string DB_Name)
{
string return_str = id.ToString();

        string sql = "select id from " + Table_Name + " where record_sta=1 and Parent_Id=" + Convert.ToString(id);
        DataSet ds =DataBaseHelper.Get_DS(sql, DB_Name);

        for (int i = 0; i < ds.Tables[0].Rows.Count; i++)
        {
            return_str = return_str + "," + Get_All_Child_ids(Convert.ToInt32(ds.Tables[0].Rows[i]["id"].ToString()), Table_Name, DB_Name);
        }

        ds.Dispose();

        return return_str;
    }


    /// <summary>
    /// 取所有子类(包括自己)的id(Record_sta字段)
    /// </summary>
    /// <param name="id">记录id</param>
    /// <param name="Table_Name">表名</param>
    /// <param name="DB_Name">数据库名</param>
    /// <param name="n">int(随便...)</param>
    /// <returns>id字符串(用,相隔)</returns>
    public static string Get_All_Child_ids(int id, string Table_Name, string DB_Name, int n)
    {
        string return_str = id.ToString();

        string sql = "select id from " + Table_Name + " where Record_sta=1 and parent_id=" + Convert.ToString(id);
        DataSet ds = DataBaseHelper.Get_DS(sql, DB_Name);

        for (int i = 0; i < ds.Tables[0].Rows.
  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
以下是一个基于C#的部门树形结构实现示例代码: ```csharp // 部门类 public class Department { public int Id { get; set; } public string Name { get; set; } public int? ParentId { get; set; } public List<Department> Children { get; set; } } // 获取部门树形结构 public List<Department> GetDepartmentTree(List<Department> departments) { var tree = new List<Department>(); var dictionary = new Dictionary<int, Department>(); foreach (var department in departments) { if (department.ParentId == null) { tree.Add(department); } else { if (dictionary.ContainsKey(department.ParentId.Value)) { dictionary[department.ParentId.Value].Children.Add(department); } else { var parent = departments.Find(d => d.Id == department.ParentId.Value); parent.Children.Add(department); dictionary.Add(department.ParentId.Value, parent); } } } return tree; } ``` 该示例代码中,首先定义了一个Department类,包含Id、Name、ParentId和Children四个属性,其中Children用于存储子部门列表。然后定义了一个GetDepartmentTree方法,用于将部门列表转换为树形结构。该方法中,首先遍历部门列表,将根部门加入到tree列表中。然后遍历除根部门以外的部门,将其加入到对应的父部门的Children列表中。如果父部门未被遍历到,则先将其加入到departments列表中,并加入到dictionary字典中,以便后续查找。最后返回tree列表,即为部门树形结构。 在获取部门树形结构后,可以将其转换为JSON格式数据,并使用前面提到的jqGrid插件进行展示。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值