![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Сортировка 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]
> но ничего не работает :(
А с чего ты взял, что вообще должно???