Форум: "Начинающим";
Текущий архив: 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