|
|
|
Непонятности с сортировкой
|
|||
|---|---|---|---|
|
#18+
С помощью SELECT из двух таблиц (с организации запроса помогли на этом форуме, персональное спасибо FreemanZAV) формируется виртуальная таблица MyCart: TpFIBDataSet связанная с видимым компонентом DG_MyCart: TdxDBGrid; все чудесно работает, но по всем полям MyCart в TdxDBGrid работает сортировка, по всем кроме первого поля CODE. Что самое непонятное - сортировка вообще говоря работает но результат сортировки никак не связан со значениями поля CODE. Трудно обьяснить, но попытаюсь, пусть в результате SELECT (в select включена директива ORDER BY CODE) записи выстроены в такой последовательности: Код: plaintext 1. 2. 3. 4. 5. 6. после сортировки по полю CODE по убыванию получаем : Код: plaintext 1. 2. 3. 4. 5. Собственно вопрос к почтенной публике, где копать? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.05.2004, 13:44:29 |
|
||
|
Непонятности с сортировкой
|
|||
|---|---|---|---|
|
#18+
авторв TdxDBGrid работает сортировка, по всем кроме первого поля CODE Вот и долби разработчиков TdxDBGrid . IB/FB тут каким боком? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.05.2004, 13:50:37 |
|
||
|
Непонятности с сортировкой
|
|||
|---|---|---|---|
|
#18+
А при чем здесь TdxDBGrid? в него что положили то он и сортирует . А за то что положили отвечает SELECT или я не прав, у меня гнусное подозрение, что какие то проблемы с индексацией получившийся таблицы, но я не знаю как перестроить для нее индексы, т.е. мысль такая, по мере выборки из исходной таблицы записи помещаются в виртуальную MyCart, и при этом сортировка идет не по значению CODE а по некому индексу сформированному в зависимости от момента добавления в выборку. во загнул, аж самому понравилось.... P.S. Вы уж господа не пинайте сильно если я тут глупость написал ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.05.2004, 14:09:51 |
|
||
|
Непонятности с сортировкой
|
|||
|---|---|---|---|
|
#18+
>>А при чем здесь TdxDBGrid? в него что положили то он и сортирует Проверь сам SELECT сначала (в IBExpert'е например). Если то же самое, что и в гриде - переделывай запрос, а если нет - тогда вопросы к гриду. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.05.2004, 14:15:07 |
|
||
|
Непонятности с сортировкой
|
|||
|---|---|---|---|
|
#18+
SSB777А при чем здесь TdxDBGrid Как раз за сортировку отвечает TdxDBGrid. Механизм не буду объяснять, канительно. А насчет сортировки, если поле CODE не числовое, попробуй в TdxDBGrid создать Column типа TdxDBGridCalcColumn и привяжи к нему поле CODE, может поможет. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.05.2004, 14:17:46 |
|
||
|
Непонятности с сортировкой
|
|||
|---|---|---|---|
|
#18+
А не подскажешь, какой тип у поля CODE? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.05.2004, 14:22:50 |
|
||
|
Непонятности с сортировкой
|
|||
|---|---|---|---|
|
#18+
Поле CODE числовое: MyCartCODE: TFIBIntegerField; и в гриде: DG_MyCartCODE: TdxDBGridMaskColumn; и в той "реальной" таблице, из которой выборка идет: CartCODE: TFIBIntegerField; кроме того поле CODE в ней является первичным ключем ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.05.2004, 14:28:32 |
|
||
|
Непонятности с сортировкой
|
|||
|---|---|---|---|
|
#18+
Еще раз подчеркну, при попытке сортировки по полю CODE таблица перестраивается, причем четко перестравивается: - первый элемент становиться последним и наоборот, но упорядочение элементов не соответствует значению поля CODE. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.05.2004, 14:34:13 |
|
||
|
Непонятности с сортировкой
|
|||
|---|---|---|---|
|
#18+
Еще раз говорю, замени TdxDBGridMaskColumn на TdxDBGridCalcColumn ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.05.2004, 14:36:02 |
|
||
|
Непонятности с сортировкой
|
|||
|---|---|---|---|
|
#18+
ДаниилПроверь сам SELECT сначала (в IBExpert'е например). Я IBExpert'ом пользуюсь, но всех его возможностей не знаю, если не трудно в двух словах, как в нем проверить работу SELECT, если это долго и много писать, Бог с ним попробую сам разобраться. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.05.2004, 14:39:09 |
|
||
|
Непонятности с сортировкой
|
|||
|---|---|---|---|
|
#18+
FreemanZAV Еще раз говорю, замени TdxDBGridMaskColumn на TdxDBGridCalcColumn И все? ... вроде я это делал, не помню точно, но в любом случае спасибо за совет, попробую еще раз. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.05.2004, 14:42:33 |
|
||
|
Непонятности с сортировкой
|
|||
|---|---|---|---|
|
#18+
SSB777Я IBExpert'ом пользуюсь, но всех его возможностей не знаю, если не трудно в двух словах, как в нем проверить работу SELECT, если это долго и много писать, Бог с ним попробую сам разобраться В меню, Инструменты->Построитель запросов На закладке Edit пишешь свой запрос, жмешь F9... -- LET`S ROCK! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.05.2004, 14:46:25 |
|
||
|
Непонятности с сортировкой
|
|||
|---|---|---|---|
|
#18+
Господа, SELECT здесь не играет роли. TdxDBGrid использует свои механизмы сортировки, если только не определен соответствующий адаптер. Так что копать надо именно в TdxDBGrid. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.05.2004, 14:53:19 |
|
||
|
Непонятности с сортировкой
|
|||
|---|---|---|---|
|
#18+
FreemanZAV...если только не определен соответствующий адаптер Что такое соответствующий адаптер? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.05.2004, 15:07:32 |
|
||
|
Непонятности с сортировкой
|
|||
|---|---|---|---|
|
#18+
Я не помню как это делаеться в dxGrid, а в cxGrid описываешь соответствующий класс, который при операциях с гридом формирует запросы. Вообще я использовал их для фильтрации, но возможно подойдет и для сортировки. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.05.2004, 15:20:48 |
|
||
|
Непонятности с сортировкой
|
|||
|---|---|---|---|
|
#18+
Выполнил SELECT в IBExpert'е, по полю CODE IBExpert сортирует результат ПРАВИЛЬНО! так что SELECT в норме, претензии к гриду. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.05.2004, 17:57:09 |
|
||
|
Непонятности с сортировкой
|
|||
|---|---|---|---|
|
#18+
Ну надо же!.. А мы об чём тебе тут целый день толкуем?! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.05.2004, 20:09:40 |
|
||
|
Непонятности с сортировкой
|
|||
|---|---|---|---|
|
#18+
Все оказалось проще, зря хаили TdxDBGrid, он совсем не причем, что в него положили он то и сортирует. Дело было все же в SELECT: Код: plaintext 1. 2. 3. Код: plaintext 1. 2. 3. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.05.2004, 11:58:58 |
|
||
|
Непонятности с сортировкой
|
|||
|---|---|---|---|
|
#18+
И ты говоришь, что дело не в гриде... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.05.2004, 09:08:38 |
|
||
|
Непонятности с сортировкой
|
|||
|---|---|---|---|
|
#18+
Dik76И ты говоришь, что дело не в гриде Само собой не в гриде, а ты сомневаешся? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.05.2004, 15:01:23 |
|
||
|
|

start [/forum/topic.php?fid=40&msg=32513230&tid=1578675]: |
0ms |
get settings: |
9ms |
get forum list: |
18ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
185ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
66ms |
get tp. blocked users: |
2ms |
| others: | 192ms |
| total: | 493ms |

| 0 / 0 |
