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

Вниз

Сортировка 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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.47 MB
Время: 0.034 c
2-1434517633
Staziah2
2015-06-17 08:07
2017.02.19
Добавление цветных ячеек в wwDBGrid


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


2-1434006586
pavelnk
2015-06-11 10:09
2017.02.19
Настройки RAD2010


15-1458028425
DayGaykin
2016-03-15 10:53
2017.02.19
Насколько надежная очистка диска?


3-1312306847
Артем
2011-08-02 21:40
2017.02.19
Удаление TADOConnection в потоке





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