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

Вниз

Сортировка DBGridEh   Найти похожие ветки 

 
Zheksonz   (2015-05-28 09:05) [0]

Добрый день.
Отображаю содержимое DataSet_a при помощи компонента DBGridEh. Возникла необходимость сортировки по дате, которая содержится в одном из полей базы данных. Подскажите плз. как организовать сортировку.

Сделал так:

DBGridEh1.Columns[1].Title.TitleButton = true;

DBGridEh1.Columns[1].Title.SortIndex = 1;

DbGridEh1.OptionsEh.dghAutoSortMarking = true;

DbGridEh1.SortLocal:= True;

добавил Uses EhLibADO

при этом заголовок работает как кнопка, появляются стрелочки сортировки, но в таблице никаких изменений((( Почему?


 
кгшзх ©   (2015-05-28 09:21) [1]

procedure TSQLDatasetFeaturesEh.ApplySorting(Sender: TObject; DataSet: TDataSet; IsReopen: Boolean);
begin
 if Sender is TCustomDBGridEh then
   if TCustomDBGridEh(Sender).SortLocal then

     raise Exception.Create(Format ("TSQLDatasetFeaturesEh can not sort data " +
       "in dataset "%s" in local mode", [DataSet.Name]))

   else
     ApplySortingForSQLBasedDataSet(TCustomDBGridEh(Sender), DataSet,
       SortUsingFieldName, IsReopen, SQLPropName);
end;


 
Zheksonz   (2015-05-28 09:58) [2]

Включил

Uses
   EhLibBDE;


При сортировке стала появляться ошибка:
> TSQLDatasetFeaturesEh can not sort data in dataset "Tours" in local mode


А что это за
> local mode

такой?


 
Zheksonz   (2015-05-28 09:59) [3]

Или мне вместо TTable нужно использовать TQuery ?


 
Zheksonz   (2015-05-28 10:02) [4]


> кгшзх ©   (28.05.15 09:21) [1]


Кстати в этой процедуре и выскакивает ошибка!


 
Zheksonz   (2015-05-28 10:08) [5]

сделал DbGridEh1.SortLocal:= false;

теперь выскакивает ошибка
> TTable is not SQL based dataset.


Т.е. всё-таки TQuery нужно использовать?


 
кгшзх ©   (2015-05-28 10:10) [6]

А что это за
> local mode


DbGridEh1.SortLocal:= True;


 
Плохиш ©   (2015-05-28 14:20) [7]


> Zheksonz   (28.05.15 10:08) [5]
> сделал DbGridEh1.SortLocal:= false;
>
> теперь выскакивает ошибка
> > TTable is not SQL based dataset.
>

Ну не может он "order by" к ttable добавить.

> Т.е. всё-таки TQuery нужно использовать?

tdataset


 
кгшзх ©   (2015-05-28 14:44) [8]

tdataset

Использовать надо то, что есть внутри наследников TSQLDatasetFeaturesEh

Все они регистрируются через RegisterDatasetFeaturesEh внутри модулей типа EhLibADO, EhLibBDE


 
Zheksonz   (2015-05-28 18:35) [9]

В общем при помощи TQuery сделал сортировку и навигацию по таблицам, но вот отображения изменений нет(((

В смысле внёс изменения в значения полей таблицы, сохранил их, сделал DataModule2.Query1.Refresh; но DBGridEh их не отображает((
DBGridEh.Refresh тоже не помогло.

Ставил Autorefresh := true; эффект тот же(( Почему не отображаются изменения?


 
Zheksonz   (2015-05-28 18:48) [10]

при этом после перезагрузки программы изменения начинают отображаться... т.е. какое-то обновление я упустил((


 
кгшзх ©   (2015-05-28 20:05) [11]

какое-то обновление

это ты напоролся на легендарный глюк/фичу парадокса+бде который настолько древний, что мало кто из старожилов про него помнит.

сбрасывай кеш на диск.


 
Zheksonz   (2015-05-28 20:07) [12]

FlushBuffers делаю... не это не помогает((


 
Zheksonz   (2015-05-28 20:31) [13]

В общем ничего лучше не придумал пока, кроме как закрыть, а потом открыть Query в обработчике AfterPost таблицы, в которую вношу изменения...


 
Денис Комаров ©   (2015-05-28 22:37) [14]

Вот 99% тебе грид как есть не нужен...


 
Дмитрий   (2015-06-19 13:40) [15]

Для сортировки по нажатию на стрелочки вставляю столбцы в текст запроса.



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

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

Наверх




Память: 0.5 MB
Время: 0.004 c
2-1434614491
pavelnk
2015-06-18 11:01
2017.02.19
Задать размеры StaticText


15-1458549533
Dimka Maslov
2016-03-21 11:38
2017.02.19
Это баг, фича, или я чего не понимаю?


2-1433923032
pavelnk
2015-06-10 10:57
2017.02.19
VertScroolBar формы


2-1434517633
Staziah2
2015-06-17 08:07
2017.02.19
Добавление цветных ячеек в wwDBGrid


2-1434009573
lewka
2015-06-11 10:59
2017.02.19
Проблема с временем в запросе Access