Как вставить элемент в первый индекс заполненного списка в MVC 3? - PullRequest
0 голосов
/ 25 октября 2011

У меня есть список, который заполнен мной и отсортирован!Я хочу добавить некоторые новые элементы в этот отсортированный список, но эти новые элементы должны быть в верхней части списка.

Я добавляю элементы в список:

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() });
}

Так как можноя достиг этого?

Ответы [ 3 ]

1 голос
/ 25 октября 2011

Первое, что мне пришло в голову, это подготовить список со всеми этими предметами. Таким образом, вы можете использовать MyList.Insert(0) для ваших новых предметов. тогда я сгенерирую список выбора с чем-то похожим на это:

var select = new SelectLis(MyList, "Id", "Text", Model.SelectedValueId)
1 голос
/ 25 октября 2011

почему бы вам не вызвать метод Insert?

1 голос
/ 25 октября 2011

Создайте новый список и добавьте нужные элементы в начале, затем добавьте другие элементы, которые вы отсортировали ранее.Должен работать, если я не понял тебя полностью.

NewList.Add(the new ones)

foreach(var item in SupplierList){
NewList.Add(item);
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...