Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Сортировка в DBGrid по столбцам [D7, Paradox]


RomanH ©   (2005-05-18 20:17:00) 

Подскажите пожайлусто.Какое событие для DBGrid нужно применить.
Когда я нажимаю на заголовок солбца он должен сортироваться.
Он у меня сортируется при OnCellClick но это не подходит.
И попутно после выполнения SQL-Запроса данные уже в упорядоченном порядке не редактируются.
Заранне всем очень благодарен.


msguns   (2005-05-19 09:59:00) [1]

Никак Эх-грид юзается ?


menart   (2005-05-19 06:09:00) [2]


              with Query1 do
              begin
                  SQL.Clear;
                  SQL.Add('SELECT Rost,FAM,NAME,Otch,DatR,foto,Tel,Vb,Vt,Vg,Chair,Ceye,Ves,www,email,kb,korp,dom,street,raion,sity,vuz,kurs,spec,hobbi,lan  g,freet,film,acter,animal,food,drink,kontrakt,scmod,wshow');
                  SQL.Add('FROM":univer:univer.db"');
                  SQL.Add('ORDER BY :FSortField');
                  Open;
              end;
procedure TForm1.DBGrid1TitleClick(Column: TColumn);
begin
   query1.close;
   query1.ParamByName(FSortField):=column.FieldName;
end;


RomanH   (2005-05-19 00:15:00) [3]

Я делаю так: нахожу индекс колонки на который я кликнул затем
выполняется SQL-запрос.Затем результат запроса отправляю на
DataSource .А DBGrid  связанна с DataSource/
procedure TForm1.DBGrid1TitleClick(Column: TColumn);
var
   int:integer;
begin
       int:=DBGrid1.SelectedIndex;
       if int=1 then  begin
               with Query1 do
               begin
                   Close;
                   SQL.Clear;
                   SQL.Add('SELECT Name,Fam,Otch,foto,DatR,Tel,Vb,Vt,Vg,Chair,Ceye,Ves,Rost,www,email,kb,korp,dom,street,raion,sity,vuz,kurs,spec,hobbi,lan g,freet,film,acter,animal,food,drink,kontrakt,scmod,wshow');
                   SQL.Add('FROM":univer:univer.db"');
                   SQL.Add('ORDER BY Name');
                   Open;
                   DataSource1.DataSet:=Query1;
               end;
         end;
       if int=2 then begin
               with Query1 do
               begin
                   Close;
                   SQL.Clear;
                   SQL.Add('SELECT Rost,FAM,NAME,Otch,DatR,foto,Tel,Vb,Vt,Vg,Chair,Ceye,Ves,www,email,kb,korp,dom,street,raion,sity,vuz,kurs,spec,hobbi,lan g,freet,film,acter,animal,food,drink,kontrakt,scmod,wshow');
                   SQL.Add('FROM":univer:univer.db"');
                   SQL.Add('ORDER BY Rost');
                   Open;
                   DataSource1.DataSet:=Query1;
               end;
               end;
end;


Anatoly Podgoretsky   (2005-05-18 22:29:00) [4]

Должен быть индекс по сортируемому полю.


Делфенок   (2005-05-18 21:04:00) [5]

А ты как сортировку делаешь? Вообще последовательность действий какая? Кликаю по названию, запускаю скрипт, сортирую, возвращаю отсортированную инфу? Я так делаю и у меня потом все редактируется...


RomanH   (2005-05-18 20:44:00) [6]

Прикольно как вы быстро реагируюте.Спасибо тебе Делфенок.
Что теперь делать с результатом запроса чтобы он после сортирвки редактировался не знаю.


Делфенок   (2005-05-18 20:29:00) [7]

OnTitleClick


Наверх

Титульная страница Поиск, карта сайта Написать письмо