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

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

Как по клику на столбец в DBgrid сортировать его??


ev ©   (2004-04-09 07:47:00) 

Как по клику на столбец в DBgrid сортировать его??


YurikGl   (2004-04-10 09:03:00) [1]

sohat   (09.04.04 10:16) [5]
Если пользуешься ADO, то там есть свойство Sort. Пишешь туда список полей по которым надо сортировать и усе.

Если я не ошибаюсь, то только если поле не LookUp


Gott   (2004-04-10 01:43:00) [2]

Вот как я это делал.

procedure TForm1.DBGrid1TitleClick(Column: TColumn);
begin
Table1.IndexName:='id'+Column.Field.FieldName;
end;

или что-то в этом роде.


ev   (2004-04-09 13:52:00) [3]

Блин там тока ссылки русские а сам хелп по анг. Есть всетаки русские ссылки??


ev   (2004-04-09 13:45:00) [4]

Сорри, заработался, там и по русски есть!


Vlad   (2004-04-09 13:44:00) [5]

http://www.ehlib.com/RUS/default.htm


ev   (2004-04-09 13:43:00) [6]

> Vlad ©  
А что на русском нет ресурсов, мне ух как надо, помогите!


Vlad   (2004-04-09 13:36:00) [7]


> ev ©   (09.04.04 13:25) [6]

'еэлиб' = 'EhLib'
http://www.ehlib.com/


ev   (2004-04-09 13:25:00) [8]

только использую еэлиб
Что такое 'еэлиб'??
Если можно пояснить по подробнее, или кинте ссылку на статью!?


sohat   (2004-04-09 10:16:00) [9]

Если пользуешься ADO, то там есть свойство Sort. Пишешь туда список полей по которым надо сортировать и усе.


Rule   (2004-04-09 10:10:00) [10]

Обработчик событи онтайтлклик и там в качестве параметра передается колонка по которой ссылается, короче кидаю кусок кода а там разберешся, только использую еэлиб:
procedure TFClients.DBGTitleClick(Column: TColumnEh);
var
oldid:integer;
oldsql:string;
begin
//??????????
oldsql:=dm.clients.SelectSQL.Text;
if pos('order',oldsql)<>0 then begin
     delete(oldsql,pos('order',oldsql),100);
     end;{if pos}
if column.Title.SortMarker=smUpEh then begin
     column.Title.SortMarker:=smDownEh;
     oldid:=dm.clients.fieldbyname('id').AsInteger;
     dm.clients.Active:=false;
     dm.clients.SelectSQL.Text:=oldsql+' order by '+column.FieldName+' asc';
     dm.clients.Active:=true;
     dm.clients.Locate('ID',oldid,[]);
   end else if  column.Title.SortMarker=smDownEh then begin
     column.Title.SortMarker:=smNoneEh;
     oldid:=dm.clients.fieldbyname('id').AsInteger;
     dm.clients.Active:=false;
     dm.clients.SelectSQL.Text:=oldsql;
     dm.clients.Active:=true;
     dm.clients.Locate('ID',oldid,[]);

   end else begin
     column.Title.SortMarker:=smUpEh;
     oldid:=dm.clients.fieldbyname('id').AsInteger;
     dm.clients.Active:=false;
     dm.clients.SelectSQL.Text:=oldsql+' order by '+column.FieldName+' desc';
     dm.clients.Active:=true;
     dm.clients.Locate('ID',oldid,[]);
   end;
end;


ev   (2004-04-09 10:03:00) [11]

Дак все это понятно. Мне нужно чтоб при клика на заголовок столбца записи в нем сортировались, на пример как в проводнике!
Помогите, может какую ссылку подскажите.


YurikGl   (2004-04-09 09:43:00) [12]

Делаешь выпадающее меню и на нажатии пунктов делаешь примерно так.
(DBGridEh1.DataSource.DataSet as TADODataSet).sort:=DBGridEh1.Columns[0].FieldName;


Рамиль   (2004-04-09 09:35:00) [13]

Никак. Можно только отсортировать набор данных. Указать индекс или выполнить соотв. select


Наверх

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