C# 格式化下拉列表的数据源
我正在尝试为下拉列表配置数据源。 数据库表中有字段“C# 格式化下拉列表的数据源,c#,asp.net,linq,drop-down-menu,C#,Asp.net,Linq,Drop Down Menu,我正在尝试为下拉列表配置数据源。 数据库表中有字段“(id、value、parenttypeid) 父typeid可以是0或1,2..等, 我想根据父项和子项填充下拉列表 可以显示为-:> Parent1 Child1 Child2 Parent 2 我尝试通过排序结果来实现这一点,但无法获得格式。 如果有人有想法,请回复 谢谢我想你应该先按值和按父类型ID排序来解决这个问题 虽然如果你发布一些代码会有帮助,但是如果你需要帮助的话 但是我想它可能看起来像这样: var myLi
(id、value、parenttypeid)
父typeid可以是0或1,2..等,
我想根据父项和子项填充下拉列表
可以显示为-:>
Parent1
Child1
Child2
Parent 2
我尝试通过排序结果来实现这一点,但无法获得格式。
如果有人有想法,请回复
谢谢我想你应该先按
值
和按父类型ID
排序来解决这个问题
虽然如果你发布一些代码会有帮助,但是如果你需要帮助的话
但是我想它可能看起来像这样:
var myList = myThings
.OrderBy(t => t.Value)
.ThenBy(t.ParentTypeId)
.Select(t => new {
Text = t.Value,
Value = t.Id
});
类节点
{
公共字符串名称{get;set;}
公共列表子项{get;private set;}
公共节点(字符串名称)
{
Child=新列表();
名称=名称;
}
}
静态void Main(字符串[]参数)
{
var listItems=新列表();
var root=新节点(“根”);
root.Child.Add(新节点(“1”);
root.Child.Add(新节点(“3”);
var节点=新节点(“4”);
var nd=新节点(“5”);
添加(新节点(“7”));
node.Child.Add(nd);
node.Child.Add(新节点(“6”);
root.Child.Add(节点);
GetNames(根目录、列表项);
foreach(listItems中的var listItem)
{
Console.WriteLine(列表项);
}
}
静态void GetNames(节点父节点,列表结果)
{
结果.添加(父项.名称);
foreach(parent.child中的变量child)
{
GetNames(子级、结果);
}
}
在子元素前面添加
string
怎么样
if(parent)
return element;
else
return " - "+ element;
通过项目进行递归迭代怎么样?另外,在提问时包含一些代码也是一个不错的主意。如果你这样做了,帮助你会容易得多。你的问题已经得到了很好的答案,但你甚至没有接受一个。这是一种互谅互让的关系,伙计。如果你不愿意花2秒钟的时间接受答案,就不要再向别人求助了。嘿,伙计们,告诉我如何接受答案?@kasun:谢谢。好多了。
if(parent)
return element;
else
return " - "+ element;