Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.04.11;
Скачать: CL | DM;

Вниз

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

 
ev ©   (2004-04-09 07:47) [0]

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


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

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


 
YurikGl ©   (2004-04-09 09:43) [2]

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


 
ev ©   (2004-04-09 10:03) [3]

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


 
Rule ©   (2004-04-09 10:10) [4]

Обработчик событи онтайтлклик и там в качестве параметра передается колонка по которой ссылается, короче кидаю кусок кода а там разберешся, только использую еэлиб:
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;


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

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


 
ev ©   (2004-04-09 13:25) [6]

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


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


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

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


 
ev ©   (2004-04-09 13:43) [8]

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


 
Vlad ©   (2004-04-09 13:44) [9]

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


 
ev ©   (2004-04-09 13:45) [10]

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


 
ev ©   (2004-04-09 13:52) [11]

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


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

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

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

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


 
YurikGl ©   (2004-04-10 09:03) [13]

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

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



Страницы: 1 вся ветка

Текущий архив: 2004.04.11;
Скачать: CL | DM;

Наверх




Память: 0.5 MB
Время: 0.058 c
11-1065951758
Revolter
2003-10-12 13:42
2004.04.11
прозрачность


11-1068482799
=Sniper=
2003-11-10 19:46
2004.04.11
Динамическое создание ЭЛЕМЕНТОВ в MainMenu


1-1079937125
wild_arg
2004-03-22 09:32
2004.04.11
Interface


14-1079076043
Budy
2004-03-12 10:20
2004.04.11
Сеть->Письмо


14-1079351112
Dmitriy O.
2004-03-15 14:45
2004.04.11
Прога почти ИИ "Avtoshema V 1.5"