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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 15.12.2011, 17:32   #1
mmihan
Пользователь
 
Регистрация: 01.06.2009
Сообщений: 30
По умолчанию чеоез что осушествлять сортировку?

Добрый вечер
На форме есть RadioGroup c Radiobutton для выбора сортировки по определенному полю
Подскачите через что(как ) осуществить сортировку которая отображается в DBgrid


если через ADOTAble1 то после выполнения sql запроса .. сортировка уже не работает..
ADOQuery и ADODAtaSEt если не ошибаюсь нужен текст запроса

Код:
procedure TMForm.RadioGroup1Click(Sender: TObject);


   Begin
 //
  case RadioGroup1.ItemIndex of
0: ADOTAble1.sort:='КЛ';
1: ADOTAble1.sort:='ФИО';
2: ADOTAble1.Sort:='Оборудование';
3: ADOTAble1.Sort:='Дата';
4: ADOTAble1.Sort:='КЛ';



end;
end;
mmihan вне форума Ответить с цитированием
Старый 15.12.2011, 17:49   #2
Sparky
Участник клуба
 
Аватар для Sparky
 
Регистрация: 15.05.2009
Сообщений: 1,222
По умолчанию

а в чем проблема?
Код:
select * from t_table order by name_field
Единственное, что ограничивает полет мысли программиста-компилятор
Sparky вне форума Ответить с цитированием
Старый 15.12.2011, 17:59   #3
mmihan
Пользователь
 
Регистрация: 01.06.2009
Сообщений: 30
По умолчанию

Сбивает другой sql запрос..


Т.е у меня есть процедура поиска .. которая отображает результат поиска
и если сделать сортировку .. то запрос поиска спивается.. как это обойти?
mmihan вне форума Ответить с цитированием
Старый 15.12.2011, 18:02   #4
Sparky
Участник клуба
 
Аватар для Sparky
 
Регистрация: 15.05.2009
Сообщений: 1,222
По умолчанию

сделайте отдельный компонент ADOQuery и при выборе кнопки в радиогруппе даобавляйте в этот запрос то что я написала
Единственное, что ограничивает полет мысли программиста-компилятор
Sparky вне форума Ответить с цитированием
Старый 15.12.2011, 18:23   #5
mmihan
Пользователь
 
Регистрация: 01.06.2009
Сообщений: 30
По умолчанию

хм так тоже сбивает...
Код:
procedure TMForm.RadioGroup1Click(Sender: TObject);


   Begin
 //ADOQuery1.Close;
ADOQuery2.SQL.Clear;
  case RadioGroup1.ItemIndex of
0: ADOQuery2.sql.add('select * from Клиент order by КЛ');
1: ADOQuery2.sql.add('select * from Клиент order by ФИО');
2: ADOQuery2.sql.add('select * from Клиент order by Оборудование');
3: ADOQuery2.sql.add('select * from Клиент order by Дата');
4:ADOQuery2.sql.add('select * from Клиент order by КЛ');

end;

begin

  ADOQuery2.Active:=true;
   DSSearchDoc.DataSet:=ADOQuery2;
   DbGrid1.DataSource:=DSSearchDoc;
end;

вот процедура поиска
Код:

procedure TMform.SearchDoc(Sender: TObject);

begin

    with ADOQuery1 do
     begin


Close; {деактивируем запрос в качестве одной из мер предосторожности}
SQL.Clear; {стираем предыдущий запрос}
  SQL.Add('select *' ) ;
  SQL.Add('from Клиент');
  SQL.Add('where ((КЛ  LIKE '''+Edit1.Text+'%'') AND (ФИО  LIKE   '''+Edit2.Text+'%'' OR ФИО IS NULL )
  AND (Оборудование  LIKE   '''+Edit4.Text+'%'' OR Оборудование IS NULL) 
AND (Телефон  LIKE   '''+Edit3.Text+'%'' OR Телефон IS NULL) 
 AND (Дата > :dt1  AND Дата <:dt2 ) )');
Parameters.ParamByName('dt1').Value:=DateToStr(DateTimePicker1.DateTime);
Parameters.ParamByName('dt2').Value:=DateToStr(DateTimePicker2.DateTime);
   Active:=true;
 DSSearchDoc.DataSet:=ADOQuery1;
 DbGrid1.DataSource:=DSSearchDoc;
ADOQuery1.FieldByName('Внешний вид').Visible:=false;
  DbGrid1.Fields[0].DisplayLabel:='Номер';

   end;
end;
если DataSource сделать тоже другой.. то вообше от DBgrid отваливается таблица...
mmihan вне форума Ответить с цитированием
Старый 15.12.2011, 19:44   #6
mmihan
Пользователь
 
Регистрация: 01.06.2009
Сообщений: 30
По умолчанию

хм тут доходит что так вообше не логично делать,,
Правильно ли я думаю..
если Radiobutton1 то сортировка по по полю КЛ.
и тут (поиск) отфильтровка методом Locate ?


но как организовать код ... что то туго.. Помогите пожалуйста. не догоняю..

Последний раз редактировалось mmihan; 15.12.2011 в 20:07.
mmihan вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Проверка на сортировку ser2511 Общие вопросы C/C++ 2 25.04.2011 19:33
задачи на сортировку... Oda33 Помощь студентам 1 28.09.2010 22:07
Макрос на сортировку provodnikam Microsoft Office Excel 1 01.10.2009 16:33
Помогите переделать файловую сортировку на сортировку динамич. списков Taisja Помощь студентам 2 15.06.2008 16:10
Про сортировку AlexMori Общие вопросы Delphi 3 11.01.2008 01:51