C# zTree_v3树形的排序
作者:秋名
撰写时间:2020 年06 月2日
技术点:实现树形父节点的排序
估计做树形控件的,应该也会遇到这个问题吧,当你从树节点中间删除一个节点的时候,再添加数据,新的数据不是在前面就是在后面。还是太年轻,今天白找了那么多的资料。其实树形解决方法真的好简单。
var listSuShe = (from TbTrees in myModel.HB宿管楼栋
orderby TbTrees.宿舍楼栋MC //在查询的时候加上排序,就可以了。
select new
{
宿舍楼栋ID = TbTrees.宿舍楼栋ID,//父亲id
宿舍楼栋MC = TbTrees.宿舍楼栋MC.Trim(),儿子id
宿舍楼层ID = TbTrees.宿舍楼层ID//节点名
}).ToList();
第二次进行优化:
第一次直接进行排序后,小手一抖居然出现了bug;
注:string字符串排序是根据字节来排序的,所以就会看到楼层已经乱了。
var listSuShe = (from TbTrees in myModel.HB宿管楼栋
//orderby TbTrees.宿舍楼栋MC
select new
{
宿舍楼栋ID = TbTrees.宿舍楼栋ID,//父亲id
宿舍楼栋MC = TbTrees.宿舍楼栋MC.Trim(),儿子id
宿舍楼层ID = TbTrees.宿舍楼层ID//节点名
}).OrderBy(m=>m.宿舍楼栋MC.Length).ThenBy(a => a.宿舍楼栋MC).ToList();