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

Вниз

Как всегда DBGrid   Найти похожие ветки 

 
niko4543   (2003-07-28 09:46) [0]

Здорова Братва.
Я пишу на этот форум потому-что у меня нет времени на реализацию данного вопроса.
Я прошу вас помогите пожайлуста кодом или советом лучше и то и другое.

Вопрос вот в чём мне надо сделать сотировку данных в DBGrid"e тоесть пользователь щёлкает на заголовок и записи выстраиваются по алфавиту.

Заранее спасибо и сильно не ругайтесь на то что задаю глупый вопрос.


 
Reindeer Moss Eater   (2003-07-28 09:57) [1]

А где сам вопрос-то?


 
Sergey13 ©   (2003-07-28 09:58) [2]

Удалено модератором
Примечание: Не суди по себе, если ты фраер, но это не значит, что и остальные тоже


 
Anatoly Podgoretsky ©   (2003-07-28 09:59) [3]

Отложить этот вопрос, на тот период, когда появится время.


 
AbrosimovA ©   (2003-07-28 10:19) [4]

Сортировка, используя индексы.

type
TMainForm=class(TForm)
DBGrid1: TDBGrid;
DBNavigator1: TDBNavigator;
SetSort: TRadioGroup;
procedure DBGrid1TitleClick(Column: TColumn);



procedure TMainForm.DBGrid1TitleClick(Column: TColumn);
begin
Case SetSort.ItemIndex of
0: IOp:=[];//По возрастанию
1: IOp:=[ixDescending];По убыванию
end;
Case Column.Index of
0: with Table1 do begin
Close;
Exclusive:=true;
if IndexDefs.Find("iFio").Name<>"" then //Если индекс iFio
DeleteIndex("iFio"); //есть, то удалить
AddIndex("iFio","Fio",Iop);//создать индекс iFio
IndexName:="iFio";//сортировка по столбцу FIO
Exclusive:=false;
Open;
end;

1: with Table1 do begin
Close;
Exclusive:=true;
if IndexDefs.Find("iAddress").Name<>"" then
DeleteIndex("iAddress");
( "iAddress","Address",Iop) Сортировка, используя индексы.

type
TMainForm=class(TForm)
DBGrid1: TDBGrid;
DBNavigator1: TDBNavigator;
SetSort: TRadioGroup;
procedure DBGrid1TitleClick(Column: TColumn);



procedure TMainForm.DBGrid1TitleClick(Column: TColumn);
begin
Case SetSort.ItemIndex of
0: IOp:=[];//По возрастанию
1: IOp:=[ixDescending];По убыванию
end;
Case Column.Index of
0: with Table1 do begin
Close;
Exclusive:=true;
if IndexDefs.Find("iFio").Name<>"" then //Если индекс iFio
DeleteIndex("iFio"); //есть, то удалить
AddIndex("iFio","Fio",Iop);//создать индекс iFio
IndexName:="iFio";//сортировка по столбцу FIO
Exclusive:=false;
Open;
end;

1: with Table1 do begin
Close;
Exclusive:=true;
if IndexDefs.Find("iAddress").Name<>"" then
DeleteIndex("iAddress");
AddIndex("iAddress","Address",Iop);
IndexName:="iAddress";//сортировка по столбцу Address
Exclusive:=false;
Open;
end;
end;
end;


 
Zacho ©   (2003-07-28 10:19) [5]

Написать обработчик события OnTitleClick, в котором:
1. Если DBGrid подключен к TTable, то подключать индекс для поля, по заголовку колонки которого кликнули.
2. Если к TQuery, то изменить в ORDER BY запроса имя поля на нужное и переоткрыть Query.


 
Sergey13 ©   (2003-07-28 10:21) [6]

>Удалено модератором
>Примечание: Не суди по себе, если ты фраер, но это не значит, что и остальные тоже
Да я и не сужу. Просто хотел стилизовать ответ под стиль вопроса. Не думал, что обращение "Здорова Братва" - это к местным. 8-(



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

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

Наверх




Память: 0.48 MB
Время: 0.012 c
3-68201
M126
2003-07-28 12:08
2003.08.21
Редактирование таблицы запросом


3-68191
Magic&Wizard
2003-07-28 14:56
2003.08.21
Сохраняю выборку из базы, используя IBSQL .BatchOutPut/Input


1-68297
^^^Dragon^^^
2003-08-06 17:24
2003.08.21
Переменные


14-68528
Гамлет
2003-08-04 20:07
2003.08.21
Ghostscript


6-68426
k$v
2003-06-16 20:31
2003.08.21
INDY перекодирует имена attach file в KOI-8R !!!!!!!! Help me!!!!