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

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

Поле, как ссылка на внешний Dataset [D7]


Сатир ©   (2006-11-20 11:28:00) 

У меня есть TADODataSet, создал в нем поле типа TDataSetField
присвоил его
cdsFields.FieldByName('lookup').DataSet:=ExternalDataset;
При создании этого датасета через метод CreateDataSet, возникает ошибка "No matching ADO datatype for Dataset"
Кто знает , как можно обойти эту проблемму?


sniknik   (2006-11-21 16:54:00) [1]

> а АДО поддерживает вложенные датасеты?
поддерживает, причем без всяких ухищрений, я даже не догадывался пока не открыл одну таблицу в базе своей тестовой прогой,  в таблице были поля типа таблица (2005 mssql), и оно вполне нормально работало (хотя ничего специально под это не делалось), в ячейке (под тип MEMO) писалось TABLE (ну или типа этого чегото, не запоминал), при двойном клике открывалось дополнительное окно с этой развернутой таблицей. (ADO стандартное, грид стандартный)
видел только один раз т.к. после теста снес 2005й и больше не ставил
... в смысле если бы поработал то возможно и нашлись бы какие нибудь "шероховатости", а так при эпизодическом знакомстве большего сказать не могу. ну и в этом случае получил готовый рекордсет с вложенными с сервера т.что в чем дело при самостоятельном создании/присвоении сказать не могу. возможно тут не столько дело в ADO сколько в обертке его в delphi.


clickmaker   (2006-11-21 16:27:00) [2]


> [7] Сатир   (20.11.06 17:08)

а не ли там секретного события OnPopup, в котором ячейке можно присвоить сорс?


Сатир   (2006-11-20 17:08:00) [3]


> Не достаточно хранить имя датасета, например?

недостаточно. модули могут находиться в разных bpl-ках и желательно иметь конкретный адрес на датасет, в который уже загружены данные.

> внешний датасет через лукап?

это не совсем классический лукап.
в гриде TcxGrid в зависимости от типа поля, ячейка может принимать тип TcxEditRepositoryLookupComboBoxItem и  ей нужно присвоить сорс, из которого она будет зачитывать данные OnPopup


clickmaker   (2006-11-20 16:58:00) [4]


> адодатасет позволяет
> добавлять такие поля?

любой датасет позволит добавить в себя какое угодно поле. Однако, не факт, что будет с ним работать.
И что собственно нужно? Не достаточно хранить имя датасета, например?


Сатир   (2006-11-20 16:54:00) [5]


> не факт. К запорожцу можно крылья прикрутить, но он же не
> взлетит

не совсем удачная анология. в таком случае у нашего запорожца предусмотренны места для крепления крыльев, если адодатасет позволяет
добавлять такие поля?
тогда встречный вопрос, в каком поле лучше всего хранить ссылку на внешний датасет и как его оттуда прочитать/записать?


zdm   (2006-11-20 15:47:00) [6]

внешний датасет через лукап?


clickmaker   (2006-11-20 15:24:00) [7]


>  [2] Сатир   (20.11.06 15:22)

не факт. К запорожцу можно крылья прикрутить, но он же не взлетит


Сатир   (2006-11-20 15:22:00) [8]


> а АДО поддерживает вложенные датасеты?

ну если у АДОдатасете можно добавить поле типа TDataSetField, то наверное поддерживает?


clickmaker   (2006-11-20 12:00:00) [9]


> TADODataSet, создал в нем поле типа TDataSetField
> присвоил его
> cdsFields

а АДО поддерживает вложенные датасеты?


Наверх

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