Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > БД в Delphi
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 03.11.2012, 21:16   #1
Михаил Юрьевич
Форумчанин
 
Аватар для Михаил Юрьевич
 
Регистрация: 25.12.2007
Сообщений: 661
По умолчанию Сортировка в dbgrid

Подскажите как можно отсортировать записи в DBGrid по алфавиту, сделал выборку из базы , в DBGrid отображаются только записи соответствующие выборке,других записей нет,как теперь отсортировать по алфавиту только эти записи.
За частые поиски был забанен во всех известных
поисковых системах!
Михаил Юрьевич вне форума Ответить с цитированием
Старый 03.11.2012, 21:29   #2
Yurk@
Участник клуба
 
Аватар для Yurk@
 
Регистрация: 19.12.2007
Сообщений: 1,100
По умолчанию

добавить в конец запроса выборки
Код:
ORDER BY <перечень полей для сорт-ки>
и сортировать, например, по клику на шапке грида
На форуме: Помогаю за спасибо
ICQ\Skype: Это моё личное время ...
Yurk@ вне форума Ответить с цитированием
Старый 03.11.2012, 21:43   #3
Михаил Юрьевич
Форумчанин
 
Аватар для Михаил Юрьевич
 
Регистрация: 25.12.2007
Сообщений: 661
По умолчанию

Цитата:
Сообщение от Yurk@ Посмотреть сообщение
добавить в конец запроса выборки
Код:
ORDER BY <перечень полей для сорт-ки>
и сортировать, например, по клику на шапке грида
Извиняюсь,но что то не догоняю как надо. так не сортирует
form1.ABSQuery.SQL.Text := 'select * from book WHERE gruppa=3 ORDER BY 3 ASC';
За частые поиски был забанен во всех известных
поисковых системах!
Михаил Юрьевич вне форума Ответить с цитированием
Старый 03.11.2012, 21:59   #4
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Так будет сортировать по третьему полю. Тебе это надо?
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 03.11.2012, 22:13   #5
Михаил Юрьевич
Форумчанин
 
Аватар для Михаил Юрьевич
 
Регистрация: 25.12.2007
Сообщений: 661
По умолчанию

Всем спасибо! разобрался
За частые поиски был забанен во всех известных
поисковых системах!
Михаил Юрьевич вне форума Ответить с цитированием
Старый 03.11.2012, 22:16   #6
Sciv
Старожил
 
Аватар для Sciv
 
Регистрация: 16.05.2012
Сообщений: 3,211
По умолчанию

Предположим, в таблице TAB три поля, по которым нужна сортировка (полей может быть и больше): NUM (номер), DAT (Дата), FIO (ФИО). Запрос с сортировкой:

Код:
SELECT * FROM TAB WHERE NUM>0 ORDER BY NUM,DATA,FIO
В данном случае сортировка сначала пойдет по полю "Номер", потом (так сказать, внутри первой сортировки) по дате, и, наконец, по фио.

При перестановке полей, например, так:

Код:
SELECT * FROM TAB WHERE NUM>0 ORDER BY DATA,NUM,FIO
получим сначала упорядочивание по дате, затем по номеру и по фио.

И, наконец, еще одна фишка:

Код:
SELECT * FROM TAB WHERE NUM>0 ORDER BY DATA,NUM,FIO DESK
выдаст обратное упорядочивание - по убыванию значений.

Упсь... опоздал
Начал решать проблему с помощью регулярных выражений. Теперь решаю две проблемы...
Sciv вне форума Ответить с цитированием
Старый 03.11.2012, 22:59   #7
Михаил Юрьевич
Форумчанин
 
Аватар для Михаил Юрьевич
 
Регистрация: 25.12.2007
Сообщений: 661
По умолчанию

Спасибо! Поучительно.
За частые поиски был забанен во всех известных
поисковых системах!
Михаил Юрьевич вне форума Ответить с цитированием
Старый 06.11.2012, 12:22   #8
IT-NGTK
Новичок
Джуниор
 
Регистрация: 06.11.2012
Сообщений: 2
По умолчанию

Привет всем. Я тут новичок поэтому если чуть ошибся темой не судите строго. А вопрос у меня вот какой: есть таблица и есть DBGrid также есть Edit, необходимо сделать фильтрацию по одному полю и отображать ее в DBGrid, по мере ввода данных в Edit, проще говоря работать должно все вот как: запустили проект в DBGrid Выведена таблица начинаем вводить условие в Edit (какой ни будь текст) событие OnChange начинает фильтр соответственно. И выводит отфильтрованные по заранее определенному полю записи в DBGrid. Где то в интернете откопал кусок кода и сделал под себя но при выполнении события OnChange вылетает ошибка "operation not applicable" в чем проблема подскажите, очень нужно сделать такой фильтр... вот код на событие OnChange:
procedure TOcenki.Edit1Change(Sender: TObject);
begin if Length(Edit1.Text) > 0 then
begin DataModule1.Table7.Filtered:=false;
DataModule1.Table7.Filter:='Dis LIKE '+ #39 + Edit1.Text + '%' + #39;
DataModule1.Table7.Filtered:=true;
end
else
DataModule1.Table1.Filtered:=false;
end;

Обращаю внимание что "Dis" - это поле по которому должна происходить фильтрация в таблице.
IT-NGTK вне форума Ответить с цитированием
Старый 06.11.2012, 12:31   #9
Sciv
Старожил
 
Аватар для Sciv
 
Регистрация: 16.05.2012
Сообщений: 3,211
По умолчанию

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

Цитата:
начинаем вводить условие в Edit (какой ни будь текст) событие OnChange начинает фильтр
Я бы порекомендовал не OnChange, а OnKeyPress

Цитата:
"operation not applicable"
СУБД какая? Возможно, она фильтр на команде LIKE не поддерживает. Попробуй так:

Код:
procedure TOcenki.Edit1KeyPress(Sender: TObject; var Key: Char);
begin 
  if Length(Edit1.Text) > 0 then begin 
    DataModule1.Table7.Filtered:=false;
    DataModule1.Table7.Filter:='Dis='+ #39 + Edit1.Text + '*' + #39;
    DataModule1.Table7.Filtered:=true;
  end
  else DataModule1.Table1.Filtered:=false;
end;
Начал решать проблему с помощью регулярных выражений. Теперь решаю две проблемы...
Sciv вне форума Ответить с цитированием
Старый 06.11.2012, 13:02   #10
IT-NGTK
Новичок
Джуниор
 
Регистрация: 06.11.2012
Сообщений: 2
По умолчанию

А куда тогда писать я не знаю... И да огромное спасиба!!! ))) все заработало! таблицы на парадоксе сделаны. И еще вопрос все работает только косяк один когда в edit стираю символы обратно то в DBGrid не меняется ни чего... как сделать что бы при стирании символов в DBGrid возвращался прежний список записей? то есть теперь нужна как бы сказать обратная операция... Спасиба Sciv
IT-NGTK вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
сортировка в dbgrid ubun БД в Delphi 1 11.08.2011 22:45
Сортировка в DbGrid Follout БД в Delphi 2 11.01.2011 12:24
Сортировка в DBGrid! Neba БД в Delphi 3 31.05.2009 16:43
Сортировка в DBGrid Wiser87 БД в Delphi 1 05.05.2007 23:21