Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Сортировка lookup поля [D7]


Lezha ©   (2006-08-02 14:17:00) 

Не могу отсортировать лукап-поле, может кто с этим сталкивался, помогите, пожалуйста.

Использую DBGridEx и TClientDataSet. Обычные поля сортируются через AddIndex, индекс для лукап поля не добавляется -- ошибка.

Пробовал делать DataSet.Filter:='1=1 ORDER BY 1'; -- снова ошибка.

Через встроенную сортировку DBGridEx не получается (точнее, я ее вообще включить не могу).

в общем, кучу всего прочитал и перепробовал, но ничего не работает :(


Lezha   (2006-08-09 18:46:00) [1]


> > . В EhLib 4.0 вроде реализована сортировка лукап полей,
>  > но по коду видно, что записи физически переставляются
> местами,Не правда твоя, там строится индекс.


В общем, да. Пересмотрел код -- так и есть. А вот можно ли как-нибудь построить индекс на лету? Там все хитро реализованно, но чтоб сделать так же, надо очень много кода переписывать -- менять вообще принцип работы. Да проще уже впихнуть ЕхЛибовский компонент, но оч много геморра.

Может пожно как-то попроще индекс создать?


Sergey13   (2006-08-03 09:27:00) [2]

Можно попробовать строить строковое вычисляемое поле, равное значению лукапного, и по нему уже пробовать отсортировать.
Изврат конечно, но вдруг....


atruhin   (2006-08-02 19:12:00) [3]

> . В EhLib 4.0 вроде реализована сортировка лукап полей,
> но по коду видно, что записи физически переставляются местами,

Не правда твоя, там строится индекс.


Lezha   (2006-08-02 17:10:00) [4]

Есть система для разработки АРМов. Есть клиент, в котором и надо сортировать лукап поле. Есть менеджер, в котором разработывается АРМ (то есть пишется запрос). в нем есть главный запрос (объект "документ"), который может включать в себя объект "связанное поле", которые берет данные из отдельного датасета.
В связанном поле задаем (о общем, как лукап поля в дельфи) источник (датасет), ключ. поле и поле результата.

потому запрос нельзя менять -- его пишет разработчик АРМа, мне же в клиенте надо только отсортировать готовую табличку, не трогая СКЛ.


Sergey13   (2006-08-02 16:19:00) [5]

> [5] Lezha   (02.08.06 15:44)
> да просто запрос пишет пользователь программы, а мы его
> уже выполняем.
А лукап поля тоже пользователь задает? Если вы настраиваете лукапы, то почему в запрос нельзя "влезть" и добавить связанное поле? Или у вас юзеры пишут с многократными подзапросами? (чего они вообще пишут?)


Lezha   (2006-08-02 15:44:00) [6]


> > Да, кстати, запрос переделывать тоже нельзя.а программированием
> вообще при решении этого вопроса заниматься можно?


да просто запрос пишет пользователь программы, а мы его уже выполняем. В EhLib 4.0 вроде реализована сортировка лукап полей, но по коду видно, что записи физически переставляются местами, что не очень хорошо, да и медленно, наверное.


Sergey13   (2006-08-02 14:55:00) [7]

2 [2] Lezha   (02.08.06 14:45)
> Да, кстати, запрос переделывать тоже нельзя.
Тогда на НЕТ и суда НЕТ.


sniknik   (2006-08-02 14:54:00) [8]

> А с чего ты взял, что вообще должно???
наверное фаг прочитал... типа товарища задавшего последний вопрос...
http://lleo.aha.ru/arhive/esse/ej/mikrowave.shtml
;о))

> Ну, просто нехорошо как-то
это не важно... важно техническая возможность/невозможность.

> Да, кстати, запрос переделывать тоже нельзя.
а программированием вообще при решении этого вопроса заниматься можно?


Lezha   (2006-08-02 14:45:00) [9]

Ну, просто нехорошо как-то, часть полей сортируем, часть -- нет. Должно же это как-то реализовываться.

Да, кстати, запрос переделывать тоже нельзя.


Johnmen   (2006-08-02 14:30:00) [10]


> но ничего не работает :(


А с чего ты взял, что вообще должно???


Наверх

Титульная страница Поиск, карта сайта Написать письмо