powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / Непонятности с сортировкой
22 сообщений из 22, страница 1 из 1
Непонятности с сортировкой
    #32510675
SSB777
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
С помощью SELECT из двух таблиц (с организации запроса помогли на этом форуме,
персональное спасибо FreemanZAV) формируется виртуальная таблица MyCart: TpFIBDataSet связанная с видимым компонентом DG_MyCart: TdxDBGrid; все чудесно работает, но по всем полям MyCart в TdxDBGrid работает сортировка, по всем кроме первого поля CODE. Что самое непонятное - сортировка вообще говоря работает но результат сортировки никак не связан со значениями поля CODE. Трудно обьяснить, но попытаюсь, пусть в результате SELECT (в select включена директива ORDER BY CODE) записи выстроены в такой последовательности:
Код: plaintext
1.
2.
3.
4.
5.
6.
CODE   NAME  ...
23   товар_ф...
14   товар_ы...
77   товар_в...
44   товар_а...
123  товар_п...

после сортировки по полю CODE по убыванию получаем
:
Код: plaintext
1.
2.
3.
4.
5.
123  товар_п...
44   товар_а...
77   товар_в...
14   товар_ы...
23   товар_ф...
все остальные поля без проблем.
Собственно вопрос к почтенной публике, где копать?
...
Рейтинг: 0 / 0
Непонятности с сортировкой
    #32510684
Мимопроходящий
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
авторв TdxDBGrid работает сортировка, по всем кроме первого поля CODE
Вот и долби разработчиков TdxDBGrid .
IB/FB тут каким боком?
...
Рейтинг: 0 / 0
Непонятности с сортировкой
    #32510716
SSB777
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
А при чем здесь TdxDBGrid? в него что положили то он и сортирует .
А за то что положили отвечает SELECT или я не прав, у меня гнусное подозрение, что какие то проблемы с индексацией получившийся таблицы, но я не знаю как перестроить для нее индексы, т.е. мысль такая, по мере выборки из исходной таблицы записи помещаются в виртуальную MyCart, и при этом сортировка идет не по значению CODE а по некому индексу сформированному в зависимости от момента добавления в выборку.
во загнул, аж самому понравилось....
P.S. Вы уж господа не пинайте сильно если я тут глупость написал
...
Рейтинг: 0 / 0
Непонятности с сортировкой
    #32510728
Даниил
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
>>А при чем здесь TdxDBGrid? в него что положили то он и сортирует

Проверь сам SELECT сначала (в IBExpert'е например). Если то же самое, что и в гриде - переделывай запрос, а если нет - тогда вопросы к гриду.
...
Рейтинг: 0 / 0
Непонятности с сортировкой
    #32510733
FreemanZAV
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SSB777А при чем здесь TdxDBGrid
Как раз за сортировку отвечает TdxDBGrid. Механизм не буду объяснять, канительно. А насчет сортировки, если поле CODE не числовое, попробуй в TdxDBGrid создать Column типа TdxDBGridCalcColumn и привяжи к нему поле CODE, может поможет.
...
Рейтинг: 0 / 0
Непонятности с сортировкой
    #32510746
IGORRR
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
А не подскажешь, какой тип у поля CODE?
...
Рейтинг: 0 / 0
Непонятности с сортировкой
    #32510767
SSB777
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Поле CODE числовое:
MyCartCODE: TFIBIntegerField;
и в гриде:
DG_MyCartCODE: TdxDBGridMaskColumn;
и в той "реальной" таблице, из которой выборка идет:
CartCODE: TFIBIntegerField;
кроме того поле CODE в ней является первичным ключем
...
Рейтинг: 0 / 0
Непонятности с сортировкой
    #32510780
SSB777
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Еще раз подчеркну, при попытке сортировки по полю CODE таблица перестраивается, причем четко перестравивается:
- первый элемент становиться последним и наоборот, но упорядочение элементов не соответствует значению поля CODE.
...
Рейтинг: 0 / 0
Непонятности с сортировкой
    #32510782
FreemanZAV
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Еще раз говорю, замени TdxDBGridMaskColumn на TdxDBGridCalcColumn
...
Рейтинг: 0 / 0
Непонятности с сортировкой
    #32510789
SSB777
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ДаниилПроверь сам SELECT сначала (в IBExpert'е например).
Я IBExpert'ом пользуюсь, но всех его возможностей не знаю, если не трудно в двух словах, как в нем проверить работу SELECT, если это долго и много писать, Бог с ним попробую сам разобраться.
...
Рейтинг: 0 / 0
Непонятности с сортировкой
    #32510798
SSB777
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
FreemanZAV Еще раз говорю, замени TdxDBGridMaskColumn на TdxDBGridCalcColumn
И все?
... вроде я это делал, не помню точно, но в любом случае спасибо за совет, попробую еще раз.
...
Рейтинг: 0 / 0
Непонятности с сортировкой
    #32510804
Scream
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SSB777Я IBExpert'ом пользуюсь, но всех его возможностей не знаю, если не трудно в двух словах, как в нем проверить работу SELECT, если это долго и много писать, Бог с ним попробую сам разобраться

В меню, Инструменты->Построитель запросов

На закладке Edit пишешь свой запрос, жмешь F9...
--
LET`S ROCK!
...
Рейтинг: 0 / 0
Непонятности с сортировкой
    #32510817
FreemanZAV
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Господа, SELECT здесь не играет роли. TdxDBGrid использует свои механизмы сортировки, если только не определен соответствующий адаптер. Так что копать надо именно в TdxDBGrid.
...
Рейтинг: 0 / 0
Непонятности с сортировкой
    #32510830
SSB777
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
[quot Scream][/quot]
I thank you very much
...
Рейтинг: 0 / 0
Непонятности с сортировкой
    #32510846
SSB777
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
FreemanZAV...если только не определен соответствующий адаптер
Что такое соответствующий адаптер?
...
Рейтинг: 0 / 0
Непонятности с сортировкой
    #32510871
FreemanZAV
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я не помню как это делаеться в dxGrid, а в cxGrid описываешь соответствующий класс, который при операциях с гридом формирует запросы. Вообще я использовал их для фильтрации, но возможно подойдет и для сортировки.
...
Рейтинг: 0 / 0
Непонятности с сортировкой
    #32511093
SSB777
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Выполнил SELECT в IBExpert'е, по полю CODE IBExpert сортирует результат ПРАВИЛЬНО!
так что SELECT в норме, претензии к гриду.
...
Рейтинг: 0 / 0
Непонятности с сортировкой
    #32511236
Мимопроходящий
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ну надо же!..
А мы об чём тебе тут целый день толкуем?!
...
Рейтинг: 0 / 0
Непонятности с сортировкой
    #32511994
SSB777
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Все оказалось проще, зря хаили TdxDBGrid, он совсем не причем, что в него положили он то и сортирует.
Дело было все же в SELECT:
Код: plaintext
1.
2.
3.
SELECT C.*,S3.SKLAD_CODE,...
FROM CL_CART C INNER JOIN CL_Cart_Sklad S3 ON S3.CART_CODE=C.CODE
WHERE ...
написал имя таблицы явно в начале SELECT
Код: plaintext
1.
2.
3.
SELECT CL_CART.*,S3.SKLAD_CODE,...
FROM CL_CART C INNER JOIN CL_Cart_Sklad S3 ON S3.CART_CODE=C.CODE
WHERE ...
и все стало работать как положено
...
Рейтинг: 0 / 0
Непонятности с сортировкой
    #32512560
Dik76
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
И ты говоришь, что дело не в гриде...
...
Рейтинг: 0 / 0
Непонятности с сортировкой
    #32513230
SSB777
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Dik76И ты говоришь, что дело не в гриде
Само собой не в гриде, а ты сомневаешся?
...
Рейтинг: 0 / 0
Непонятности с сортировкой
    #32513235
Мимопроходящий
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Не, хлопцы. Похоже дело в DNA...
...
Рейтинг: 0 / 0
22 сообщений из 22, страница 1 из 1
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / Непонятности с сортировкой
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]