如何在MVC 3中插入一个项目到一个填充列表的第一个索引
本文关键字:一个 填充 列表 索引 第一个 项目 插入 MVC | 更新日期: 2023-09-27 18:12:31
我有一个由我填写并排序的列表!我想在这个排序列表中添加一些新项目,但是这些新项目应该位于列表的顶部。
我正在添加项目到列表:
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() });
}
那么我怎么才能做到这一点呢?
为什么不调用Insert方法呢?
创建一个新的列表,并在开始时添加您想要的项目,然后添加您之前排序的其他项目。如果我没有完全误解你的话,我应该工作的。
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)