Использование Arraylist в DropDownList - PullRequest
0 голосов
/ 28 декабря 2011

У меня есть следующая часть в моем Page_Load методе:

 DropDownList1.Items.Add("Audi");
 DropDownList1.Items.Add("BMW");
 …
 DropDownList1.Items.Add("Ford");
 …
 DropDownList1.Items.Add("Vauxhall");
 DropDownList1.Items.Add("Volkswagen");
 …

Некоторые детали заключаются в том, что у меня есть веб-форма, которая является частью веб-сайта по продаже автомобилей, часть необходимой функциональности заключается в том, чтопользователи смогут выбрать производителя автомобилей из выпадающего списка.Я создал элемент управления <asp:DropDownList ... />.

Мой вопрос заключается в том, как можно переписать приведенный выше код для использования ArrayList, который полностью заполняется при его создании, сортируется в алфавитном порядке и затемиспользуется для инициализации DropDownList?

Ответы [ 6 ]

4 голосов
/ 28 декабря 2011

Возможно, мы наберемся строго, пока мы на нем:

var makes = new List<string> {
    "Audi",
    "BMW",
    "Ford",
    "Vauxhall",
    "Volkswagen"
};
makes.Sort(); 

DropDownList1.DataSource = makes;
DropDownList1.DataBind();
2 голосов
/ 28 декабря 2011

попробуй:

ArrayList MyArray = new ArrayList();
MyArray.Add("Audi");
MyArray.Add("BMW");
MyArray.Add("Ford");
MyArray.Add("Vauxhall");
MyArray.Add("Volkswagen");
MyArray.Sort();
MyDropDownList.DataSource = MyArray ;
MyDropDownList.DataBind();
0 голосов
/ 28 декабря 2011

Предоставляется три варианта ListItemCollection, Array, IList.

protected void Page_Load(object sender, EventArgs e)
        {
            //List item collection
            ListItemCollection listItemCollection = new ListItemCollection();
            listItemCollection.Add("Audi");
            listItemCollection.Add("BMW");
            listItemCollection.Add("Ford");
            listItemCollection.Add("Vauxhall");
            listItemCollection.Add("Volkswagen");
            CarDropDown.DataSource = listItemCollection;
            CarDropDown.DataBind();

            //Array
            string[] myCollect = { "Audi", "BMW", "Ford", "Vauxhall", "Volkswagen" };
            CarDropDown.DataSource = myCollect;
            CarDropDown.DataBind();

            //IList
            List<string> listCollection = new List<string>();
            listCollection.Add("Audi");
            listCollection.Add("BMW");
            listCollection.Add("Ford");
            listCollection.Add("Vauxhall");
            listCollection.Add("Volkswagen");
            CarDropDown.DataSource = listCollection.OrderBy(name => name);
            CarDropDown.DataBind();
        }
0 голосов
/ 28 декабря 2011
var makes = new List<string>{
  "Ford",
  "Audi",
  "BMW",
  "Vauxhall"
};

makes.Sort();

DropDownList1.DataSource = makes;
DropDownList1.DataBind();
0 голосов
/ 28 декабря 2011
var makes = new List<string> 
{
    "BMW",
    "Volkswagen",
    "Ford",
    "Vauxhall",
    "Audi",
 };

  DropDownList1.DataSource = makes.OrderBy(x => x);
  DropDownList1.DataBind();

Вы также можете использовать «OrderByDescending», чтобы перевернуть его, чтобы изменить альфа.

makes.OrderByDescending(x => x);
0 голосов
/ 28 декабря 2011
private static ArrayList _listOfCars = new ArrayList { "Audi", "BMW", "Ford" };

protected override Page_Load ...
{
   DropDownList1.DataSource = _listOfCars;
   DropDownList1.DataBind();
}

Это также должно делать то, что вам нужно.Синтаксис может быть не совсем правильным, я не проверял его в VS.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...