Главная страница
    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.05 c
1-1151738901
Артем22
2006-07-01 11:28
2006.08.13
Чтение из приложения в процессе выполнения


2-1153727239
цк3сл3к
2006-07-24 11:47
2006.08.13
Извините за тупой вопрос но как открыть файл?


1-1151311964
zdm
2006-06-26 12:52
2006.08.13
Работа с ККМ


2-1153887740
O.O
2006-07-26 08:22
2006.08.13
Имена каталогов


2-1153806323
VitV
2006-07-25 09:45
2006.08.13
Поиск в блоб.





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский