|
|
|
Добавление Lookup поля
|
|||
|---|---|---|---|
|
#18+
Задача: в датасет, к динамически формируемым полям на основании SELECT, добавить лукап поле. Есть более прямой способ, чем этот? Код: pascal 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. Пробовал переносить добавление поля в AfterOpen. Тогда на строку Код: pascal 1. ругаетсяCannot perform this operation on an open dataset Если вместо этой строки вставить Код: pascal 1. то поле не отображается в гриде. Если же добавить Код: pascal 1. то получаю ошибкуField ''NAME'' has no dataset С уважением, Vasilisk ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.10.2017, 16:10:02 |
|
||
|
Добавление Lookup поля
|
|||
|---|---|---|---|
|
#18+
_Vasilisk_, вообще некоторые датасеты позволяют комбинировать динамические и персистентные (в т.ч. лукапные) поля. если IBDataSet не умеет то описанный вариант вроде вполне норм, получить метаданные (FieldDefs->Update), на их основе насоздавать динамические и врукопашную добавить лукапы и проч. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.10.2017, 16:24:49 |
|
||
|
Добавление Lookup поля
|
|||
|---|---|---|---|
|
#18+
vavanполучить метаданные (FieldDefs->Update)Вот за это спасибо. Update позволяет заменить Prepare и отвязаться от IBDataSet vavanна их основе насоздавать динамическиеХотелось, чтобы датасет сам вначале насоздавал динамические, а потом добавить к нему лукап. Потому и смотрел на AfterOpen ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.10.2017, 16:45:06 |
|
||
|
Добавление Lookup поля
|
|||
|---|---|---|---|
|
#18+
_Vasilisk_Есть более прямой способ, чем этот? Лично мне он не известен. Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.10.2017, 17:00:47 |
|
||
|
Добавление Lookup поля
|
|||
|---|---|---|---|
|
#18+
Dimitry SibiryakovЛично мне он не известен.Спасибо. Твоему мнению верю :)) Опыты показали, что _Vasilisk_ Код: pascal 1. лучше перенести из AfterClose первой строкой в BeforeOpen ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.10.2017, 17:30:12 |
|
||
|
Добавление Lookup поля
|
|||
|---|---|---|---|
|
#18+
_Vasilisk_лучше перенести из AfterClose первой строкой в BeforeOpenя бы вообще по возможности минимизировал размазывание по обработчикам и по максимуму все необходимые телодвижения расположил линейно в коде. а когда и такое поднадоело доточил датасет чтобы задавать в дизайне когда возможно ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.10.2017, 17:37:04 |
|
||
|
Добавление Lookup поля
|
|||
|---|---|---|---|
|
#18+
Что-то не взлетает идея. Ткните носом, что не так. Есть рабочая таблица с полями (ParentID, ChildID) и есть таблица для лукапа (ID, ParentID, Name). Хотелось сделать в гриде рабочей таблицы выпадающее поле, но где значения будут в пределах одного ParentID. Т.е. Код: pascal 1. 2. 3. 4. 5. 6. 7. 8. 9. но на каждый скролл должно вызываться переоткрытие IBDataSet2 с новым ParentID Если IBDataSet2 сделать деталью основной таблицы, то получается, что вначале идет поиск лукап значения, а потом переоткрытие детали. В итоге ничего не находится ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.10.2017, 18:15:32 |
|
||
|
|

start [/forum/topic.php?fid=58&tid=2041735]: |
0ms |
get settings: |
8ms |
get forum list: |
19ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
174ms |
get topic data: |
11ms |
get forum data: |
2ms |
get page messages: |
50ms |
get tp. blocked users: |
1ms |
| others: | 201ms |
| total: | 474ms |

| 0 / 0 |
