2013-03-12 2 views
-2

Я хочу сортировать выпадающий список, но при условии, что элемент «Прочие» присутствует в конце отсортированного dropdownlist. Я пробовал использовать «Заказ» в списке, исключая «Другой», а затем с помощью 'union' добавить 'other' к отсортированному результату. Но это не работает.Сортировка выпадающего списка, в том числе «Другое» в виде списка в конце отсортированного списка

+2

Duplicate много раз. Используйте оператор CASE в ORDER BY. – bernie

+0

Когда вы добавляете запросы вместе с помощью UNION, вы получаете только один ORDER BY в конце всего. Поэтому вам нужно что-то еще, например столбец SortOrder (или оператор CASE), чтобы привести их в порядок. – criticalfix

ответ

0

Прежде всего, спасибо тем, кто дал свои ценные предложения здесь. Это было скорее сомнение в построении запроса SQL. Проблема, с которой я столкнулся, заключалась в том, что я не мог использовать UNION после ORDER BY в запросе, результат которого должен был использоваться для заполнения выпадающего списка управления ASP.NET. Простое решение, которое я нашел, это добавить новый поддельный столбец, назначенный ddlitem.value в инструкции SELECT, а затем ORDER BY в этом столбце. Хитрость заключалась в том, чтобы присвоить ddlitem.value значение 999 (или большое значение) для (ddlitem.text - OTHER), чтобы оно всегда заканчивалось в конце, когда ORDER BY выполнялся с использованием этого поддельного столбца.

0

Без дополнительной информации об элементе управления, который вы используете (попробуйте обновить теги с помощью своего имени контрольного набора!), Вы не можете дать конкретный пример кода, чтобы исправить вашу проблему. Это связано с тем, что существует несколько слоев, в которых могут быть заказаны данные с выпадающим списком; элемент управления может сохранять ваш первоначальный заказ из набора данных SQL, но может и не быть. Он может иметь настройку по умолчанию для алфавита элементов и т. Д. Я успешно рассматривал такие случаи в прошлом двумя способами:

1. Часто можно добавлять элементы данных в раскрывающееся меню список в коде инициализации элемента управления. Просто добавьте «Other» в конец списка с помощью кода вдоль линий

ddlUnknownControl.Add(new ddlElement("Other")

2.При вы просто конкретный способ, в котором вы хотели бы некоторые данные, которые будут упорядоченные (как правило, больше, чем одно значение), вы можете фактически разместить столбец в своей таблице специально для использования в качестве индекса для упорядочения данных. Будьте осторожны с этим! Он должен быть тщательно сохранен, а затем, чтобы гарантировать, что ваш заказ сохранен, вы захотите вытащить свою информацию в свой раскрывающийся список в виде набора меток, пар значений и порядка внутри элемента управления значением (где значение индекс и метка - это текстовая информация).

Смежные вопросы