Информация

Последние записи

Теги


Блоги


Записи из всех блогов на Sql.ru с тегом: сортировка


Сортировка TStringDynArray

не забудьте подключить
uses
System.Generics.Collections, System.Generics.Defaults;


procedure Foo;
var
  arrFiles: TStringDynArray;
begin

//получаем список каких-то файлов
  arrFiles := GetListDocs('d:\MyFiles\RootDir');

//сортируем
  TArray.Sort<string>(arrFiles, TStringComparer.Ordinal);

end;
автор: X11 добавлено: 14 авг 20 просмотры: 5753, комментарии: 0



Поиск файла в библиотеке SharePoint

Поиск файлов аналогичен поиску элемента в списке. Те, кто уже разобрался с этим, могут пропустить эту часть главы.

Библиотеки в SharePoint могут хранить несколько тысяч файлов. Эти файлы не войдут на один экран, поэтому SharePoint разобьет их на несколько страниц. Каким же образом найти нужный файл в библиотеке?

Описание задачи. Необходимо найти все заказы от Соловьева Ильи Ивановича на покупку шаров класса AX-7.

Сортировка

image

Рис. 67 Поле "Класс аэростата"

Посмотрим на заголовок столбцов в списке. Если подвести курсор к заголовку столбца «Класс аэростата», то он станет серым и справа появится черный треугольник, направленный вниз. На него нужно нажать, чтобы появилось выпадающее меню. Первые 2 пункта – это сортировка. Выбираем ту, которая интересна. Таким образом, мы отсортировали список по алфавиту. Но все же не хочется просматривать записи, а хочется знать наверняка. Для этого переходим к фильтрам.

Дальше » читать дальше...


Поиск элемента в списке

Списки в SharePoint могут хранить более нескольких тысяч записей. Все эти записи не войдут на экран монитора, поэтому SharePoint разобьет их на страницы. Каким же образом найти нужный элемент в списке?

Описание задачи. Необходимо найти воздушный шар класса AX-7, который можно сейчас арендовать. Он должен иметь полный состав команды и быть подготовлен к взлету.

Сортировка

image

Рис. 12 Поле класс аэростата

Дальше » читать дальше...
автор: FortuneS добавлено: 26 фев 13 просмотры: 1670, комментарии: 0



cxGrid группировка с сортировкой по другому столбцу

Для нормальной работы сортировки надо писать так:

procedure TForm2.cxGrid1DBBandedTableView1DataControllerCompare(
  ADataController: TcxCustomDataController; ARecordIndex1, ARecordIndex2,
  AItemIndex: Integer; const V1, V2: Variant; var Compare: Integer);
begin
if ADataController.Values[ARecordIndex1, {Индекс столбца}] < ADataController.Values[ARecordIndex2, {Индекс столбца}] then
   Compare := -1
else
   if ADataController.Values[ARecordIndex1, {Индекс столбца}] = ADataController.Values[ARecordIndex2 {Индекс столбца}] then
     Compare := 0
   else
     Compare := 1;
end;



Для сортировки по столбцу №2 код будет выглядеть следующим образом:
procedure TForm2.cxGrid1DBBandedTableView1DataControllerCompare(
  ADataController: TcxCustomDataController; ARecordIndex1, ARecordIndex2,
  AItemIndex: Integer; const V1, V2: Variant; var Compare: Integer);
begin
if ADataController.Values[ARecordIndex1, 2] < ADataController.Values[ARecordIndex2, 2] then
   Compare := -1
else
   if ADataController.Values[ARecordIndex1, 2] = ADataController.Values[ARecordIndex2, 2] then
     Compare := 0
   else
     Compare := 1;
end;



Отсюда: https://www.sql.ru/forum/actualutils.aspx?action=gotomsg&tid=712712&msg=12748829
автор: X11 добавлено: 12 июл 12 просмотры: 3432, комментарии: 0



Сортировка по возрастанию - NULL не страшен

Блог: Sql4Enterprise
В SQL Server условие ORDER BY используется для сортировки результирующего набора по одной или группе колонок. Если вы зададите условие ORDER BY col ASC, то в самом верху выборки окажутся строки со значением NULL. Если вместо этого указать ORDER BY col DESC, то все NULLы окажутся в конце списка, но и все остальные значения тоже будут осортированы соответствующим образом.
Но, как быть, если нужно отсортировать значения по возрастанию, и в то же время, равместить строки со значением NULL в конце списка? Оказывается, и такое возможно...
Допустим, у нас есть следующая таблица:

declare @t table(number int)
insert into @t
select 1502 union all
select 734 union all
select 623 union all
select null union all
select 1990

А теперь попробуем выполнить следующий запрос:

select number from @t
order by case when number is null then 1 else 0 end, number

и полюбуемся на полученный результат

Картинка с другого сайта.
автор: Николай Байбородин добавлено: 28 авг 11 просмотры: 5567, комментарии: 0