Сортировка DropDownList? - C #, ASP.NET - PullRequest
       102

Сортировка DropDownList? - C #, ASP.NET

32 голосов
/ 21 октября 2008

Мне любопытно узнать, как лучше всего (больше обращать внимание на простоту, а не скорость или эффективность) для сортировки DropDownList в C # / ASP.NET - я посмотрел несколько рекомендаций, но они плохо работают с я.

Редактировать: Люди, у меня нет контроля над тем, как данные попадают в DropDownList - я не могу изменить SQL.

Ответы [ 23 ]

0 голосов
/ 09 декабря 2008

Вы можете использовать эту функцию JavaScript:

function sortlist(mylist)
{
   var lb = document.getElementById(mylist);
   arrTexts = new Array();
   arrValues = new Array();
   arrOldTexts = new Array();

   for(i=0; i<lb.length; i++)
   {
      arrTexts[i] = lb.options[i].text;
      arrValues[i] = lb.options[i].value;

      arrOldTexts[i] = lb.options[i].text;
   }

   arrTexts.sort();

   for(i=0; i<lb.length; i++)
   {
      lb.options[i].text = arrTexts[i];
      for(j=0; j<lb.length; j++)
      {
         if (arrTexts[i] == arrOldTexts[j])
         {
            lb.options[i].value = arrValues[j];
            j = lb.length;
         }
      }
   }
}
0 голосов
/ 21 октября 2008

Если ваши данные поступают вам как System.Data.DataTable, вызовите метод DataSable .Select (), передав "" для filterExpression и "COLUMN1 ASC" (или любой столбец, по которому вы хотите отсортировать) для сортировка Это вернет массив объектов DataRow, отсортированных как указано, которые вы можете затем перебрать и сбросить в DropDownList.

0 голосов
/ 23 октября 2008

У вас может не быть доступа к SQL, но если у вас есть DataSet или DataTable, вы, безусловно, можете вызвать метод Sort().

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