c# - C# Linq flatd 构建菜单
问题描述
我有一个用于构建选择列表菜单的 flatdto。菜单应该使用 ID 作为菜单中的父项来构建,然后所有子菜单都应该属于该菜单。如果我删除空引用不确定我缺少什么来显示子菜单项,我只能显示父项。
List<DiseaseFlatDto> diseases;
diseases = resp.Data.Where(d => d.Reference != null).ToList();
//diseases = resp.Data.ToList();
return SetPicklistItems(diseases.OrderBy(d => d.Name), null);
private IEnumerable<PicklistItemModel> SetPicklistItems(IEnumerable<flatDto> diseases, int? Id)
{
return diseases.Where(d => d.Id == Id).Select(d => new PicklistItemModel
{
Value = d.Id.ToString(),
Text = d.Name,
Reference = d.Reference,
Items = SetPicklistItems(diseases, d.Id)
});
}
Menu UI
A
...AA
...AB
...AC
B
C
...CA
Sample Data
Id Name
1410 Ford
1411 Honda
1411 Honda Civic
1411 Honda Accord
1417 Jeep
解决方案
推荐阅读
- html - 用户将文件下载到他们的本地目录
- spring - Hibernate 二级缓存在运行几个弹簧测试时关闭
- apache-camel - 带有 Camel、MessageProducer 的 Azure 服务总线 (ASB) 已关闭 (amqp:link:detach-forced)
- tensorflow - 在 tf 2.0 中调整图像大小的首选方法是什么?
- c - 需要对近乎无限的数据点集进行 FFT
- c# - 使用反射从类中填充字典
- dictionary - 如何创建项目并将其添加到字典
- slack-api - 如何触发 Slack im_open 事件?
- ruby-on-rails - Rails 生成带有选项和选项组的选择
- asp.net-mvc-5 - ScriptBundle 说对象引用未设置为对象的实例