C# 如何在MVC 3中向已填充列表的第一个索引插入项?
我有一个清单,由我填写并排序!我想在排序后的列表中添加一些新项目,但是这些新项目应该在列表的顶部 我正在将项目添加到列表中:C# 如何在MVC 3中向已填充列表的第一个索引插入项?,c#,asp.net-mvc-3,list,C#,Asp.net Mvc 3,List,我有一个清单,由我填写并排序!我想在排序后的列表中添加一些新项目,但是这些新项目应该在列表的顶部 我正在将项目添加到列表中: var OnlySup = dataContext.GroupDetails.Where(c => c.sup_id == c.suppliers.supplier_id).Select(c=>c.sup_id).Distinct().ToList(); /* GET SUPPLIERS FROM DB */ foreach (var supp in Onl
var OnlySup = dataContext.GroupDetails.Where(c => c.sup_id == c.suppliers.supplier_id).Select(c=>c.sup_id).Distinct().ToList();
/* GET SUPPLIERS FROM DB */
foreach (var supp in OnlySup)
{
/* ADD EACH SUPPLIER TO LIST */
SupplierList.Add(new SelectListItem() { Text = supp.supplier, Value = "S" + supp.supplier_id.ToString() });
}
/* ReOrder The List */
SupplierList = SupplierList.OrderBy(c => c.Text).ToList();
/* DEFAULT ADD */
SupplierList.Add(new SelectListItem() { Text = "ALL Groups", Value = "G" });
SupplierList.Add(new SelectListItem() { Text = "ALL Suppliers", Value = "S" });
SupplierList.Add(new SelectListItem() { Text = "ALL Suppliers AND Groups", Value = "%" });
/* GET GROUPS FROM DB */
var OnlyGroup = dataContext.groups.OrderBy(c => c.id).Distinct().ToList();
/* FOR EACH GROUP */
foreach (var groups in OnlyGroup)
{
/* ADD EACH GROUP TO LIST */
SupplierList.Add(new SelectListItem() { Text = groups.group_name, Value = "G" + groups.id.ToString() });
}
排序:
var OnlySup = dataContext.GroupDetails.Where(c => c.sup_id == c.suppliers.supplier_id).Select(c=>c.sup_id).Distinct().ToList();
/* GET SUPPLIERS FROM DB */
foreach (var supp in OnlySup)
{
/* ADD EACH SUPPLIER TO LIST */
SupplierList.Add(new SelectListItem() { Text = supp.supplier, Value = "S" + supp.supplier_id.ToString() });
}
/* ReOrder The List */
SupplierList = SupplierList.OrderBy(c => c.Text).ToList();
/* DEFAULT ADD */
SupplierList.Add(new SelectListItem() { Text = "ALL Groups", Value = "G" });
SupplierList.Add(new SelectListItem() { Text = "ALL Suppliers", Value = "S" });
SupplierList.Add(new SelectListItem() { Text = "ALL Suppliers AND Groups", Value = "%" });
/* GET GROUPS FROM DB */
var OnlyGroup = dataContext.groups.OrderBy(c => c.id).Distinct().ToList();
/* FOR EACH GROUP */
foreach (var groups in OnlyGroup)
{
/* ADD EACH GROUP TO LIST */
SupplierList.Add(new SelectListItem() { Text = groups.group_name, Value = "G" + groups.id.ToString() });
}
列出我想添加到列表顶部的项目:
var OnlySup = dataContext.GroupDetails.Where(c => c.sup_id == c.suppliers.supplier_id).Select(c=>c.sup_id).Distinct().ToList();
/* GET SUPPLIERS FROM DB */
foreach (var supp in OnlySup)
{
/* ADD EACH SUPPLIER TO LIST */
SupplierList.Add(new SelectListItem() { Text = supp.supplier, Value = "S" + supp.supplier_id.ToString() });
}
/* ReOrder The List */
SupplierList = SupplierList.OrderBy(c => c.Text).ToList();
/* DEFAULT ADD */
SupplierList.Add(new SelectListItem() { Text = "ALL Groups", Value = "G" });
SupplierList.Add(new SelectListItem() { Text = "ALL Suppliers", Value = "S" });
SupplierList.Add(new SelectListItem() { Text = "ALL Suppliers AND Groups", Value = "%" });
/* GET GROUPS FROM DB */
var OnlyGroup = dataContext.groups.OrderBy(c => c.id).Distinct().ToList();
/* FOR EACH GROUP */
foreach (var groups in OnlyGroup)
{
/* ADD EACH GROUP TO LIST */
SupplierList.Add(new SelectListItem() { Text = groups.group_name, Value = "G" + groups.id.ToString() });
}
那么我如何才能做到这一点呢?创建一个新列表,在开始时添加所需的项目,然后添加之前排序的其他项目。如果我没有完全误解你的话,我应该去工作
NewList.Add(the new ones)
foreach(var item in SupplierList){
NewList.Add(item);
}
创建一个新列表,在开始时添加所需的项目,然后添加先前排序的其他项目。如果我没有完全误解你的话,我应该去工作
NewList.Add(the new ones)
foreach(var item in SupplierList){
NewList.Add(item);
}
我想到的第一件事是准备一份包含所有这些项目的清单。 因此,您可以对新项目使用
MyList.Insert(0)
。
然后,我将生成类似以下内容的选择列表:
var select = new SelectLis(MyList, "Id", "Text", Model.SelectedValueId)
我想到的第一件事是准备一份包含所有这些项目的清单。 因此,您可以对新项目使用
MyList.Insert(0)
。
然后,我将生成类似以下内容的选择列表:
var select = new SelectLis(MyList, "Id", "Text", Model.SelectedValueId)
为什么不调用Insert方法?为什么不调用Insert方法?wauw只花了几分钟就得到了3个答案,恭喜大家!谢谢你的提醒,哇,只花了几分钟就有三个答案,恭喜大家!谢谢你的提醒。你很了解我,你的方法是值得的,但这将是一个更长的方法。谢谢。你很理解我,你的方法很有价值,但这是一个较长的方法。谢谢。为什么在使用insert之后还要重新生成列表?因为我读错了你的代码。我假设您正在尝试更新已编译的SelectList。因此,第一件事是从IList创建列表,这样您就可以调用“Insert”。之后,您从列表中生成selectlist,其中所有项目的顺序都正确。为什么在使用insert之后还要重新生成列表?因为我读错了您的代码。我假设您正在尝试更新已编译的SelectList。因此,第一件事是从IList创建列表,这样您就可以调用“Insert”。然后从列表中生成selectlist,并按正确顺序显示所有项目