Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Базы";
Текущий архив: 2006.08.13;
Скачать: [xml.tar.bz2];

Вниз

DBGRID - переиндексация набора данных   Найти похожие ветки 

 
VALUA   (2006-06-08 10:29) [0]

Господа , здравствуйте !
Вопрос - есть DBGRID , который связан с набором данных IBQUERY1(select * from FAIL order by Pole1, Pole2) .
В DBGRID отображаются поля Pole1, Pole2 , хотелось бы сделать клик на названии Pole2 и набор данных перестроился по полю  
Pole2 , клик на названии Pole1 и набор данных перестроился по полю Pole1 .
Как правильно сделать ?
Неужели каждый раз заново открывать набор , но с разный индексацией - IBQUERY1(select * from FAIL order by Pole2)
и т. д.
Спасибо .


 
ЮЮ ©   (2006-06-08 10:40) [1]


> Неужели каждый раз заново открывать набор , но с разный
> индексацией - IBQUERY1

Для IBQuery это вполне естественно.

Если же хочется "изгаляться" имено над клиентским НД, то нужны другие DataSet-ы:

TCustomADODataSet.Sort;

TCustomClientDataSet.AddIndex
TCustomClientDataSet.IndexName


 
Sergey13 ©   (2006-06-08 10:52) [2]

2VALUA   (08.06.06 10:29)
>Неужели каждый раз заново открывать набор , но с разный индексацией
Если в запрос добавить секцию where, то это не будет выглядеть таким страшным решеним. 8-)


 
Stanislav ©   (2006-06-08 12:04) [3]

Либо использовать грид из EHLIB или CxGrid


 
VALUA   (2006-06-08 13:51) [4]

Господа , что делаю не так ? Кликаю на заголовке поля (pole1) и набор данных должен проиндексироваться по этому полю и обновиться  ->
procedure TForm16.DBGrid2TitleClick(Column: TColumn);
begin
if (Column.FieldName = "pole1") then begin  -  не срабатывает условие
 IBQuery1.SQL.Clear;
 IBQuery1.SQL.Add("Select * from FILE");
 IBQuery1.SQL.Add("where (Priz = 1) and (Kod = :P0)");
 IBQuery1.SQL.Add("Order by pole1,pole2,pole3");
 IBQuery1.Params[0].AsInteger := p1;
 IBQuery1.Open;
end;
end;


 
Virgo_Style ©   (2006-06-08 18:59) [5]

VALUA   (08.06.06 13:51) [4]

чему при этом равно FieldName ?


 
rar ©   (2006-06-08 20:58) [6]

Можно сделать так, при повтоном нажатии обратная сортировка, свет заголовка тоже меняем.
procedure TFormTree.DBGridMaterialTitleClick(Column: TColumn);
var
 i:integer;
begin
 if (Pos(Column.FieldName, DataModuleMain.qMaterial.Sort) > 0)and(Pos("ASC", DataModuleMain.qMaterial.Sort) > 0) then
   DataModuleMain.qMaterial.Sort := Column.FieldName + " DESC"
 else
   begin
     DataModuleMain.qMaterial.Sort := Column.FieldName + " ASC";
     for i:=0 to dbGridMaterial.Columns.Count-1 do
       dbGridMaterial.Columns[i].Title.Color:=clBtnFace;
       Column.Title.Color:=$eeeeee;
   end
end;


 
atruhin ©   (2006-06-08 21:29) [7]


> свет заголовка тоже меняем.

Обычно достаточно маленькой стрелки. Пользователи к этому привыкли. Не нужно из программы делать "раскарашку".
Сортировка НД не лучший вариант. Проще взять EhLib он работает по индексу.
Но обязательно запомнить золотые слова:

> Если в запрос добавить секцию where,


 
rar ©   (2006-06-09 17:59) [8]

> свет заголовка тоже меняем.

>Обычно достаточно маленькой стрелки. Пользователи к этому привыкли. Не нужно из программы делать "раскарашку".

а как в титл DBgrid запросто засунуть стрелку, это ведь не ListView :-))

У нас на работе мы не применяем нестандартные контролы



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

Форум: "Базы";
Текущий архив: 2006.08.13;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.46 MB
Время: 0.061 c
2-1153987112
Vovan2006
2006-07-27 11:58
2006.08.13
Возможна ли обработка ситуации выгрузки программы в самой програм


2-1153028383
Chort
2006-07-16 09:39
2006.08.13
Фильтр


2-1153713090
Vovan33
2006-07-24 07:51
2006.08.13
Internet Explorer


15-1153198521
Ega23
2006-07-18 08:55
2006.08.13
ДМП - новая ветка


15-1152966794
Кручен-Верчен
2006-07-15 16:33
2006.08.13
Переустановка WINDOWS.





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский