![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Как по клику на столбец в 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