Возможно ли и безопасно ли иметь несколько источников TDataSource, ссылающихся на один дочерний компонент TDataSet? - PullRequest
0 голосов
/ 14 ноября 2009

Я разрабатываю приложение базы данных с ZeosLib. В одной форме у меня есть несколько поисков, которые должны ссылаться на тот же набор данных. Безопасно ли создать одного потомка TDataSet, а затем подключить к нему несколько источников TDataSet?


Спасибо за ваши ответы.

Еще один вопрос: это хорошая практика программирования иметь такую ​​раскладку:

TDataSet (lookup items TZQuery) (fields ID,A,B)
                 |
                 +----> TDataSource ------> Lookup compo listing field A and returning ID
                 |
                 +----> TDataSource ------> Lookup compo listing field B and returning ID
                 |
                 ...

А как насчет поиска в TDBCtrlGrid? Я знаю, что Delphi явно отключает эту возможность, но мои исследования доказывают, что это возможно. Я создал csReplicatable потомок TCustomComboBox с TDataFieldLink и одним DataSource как Listsource, и на самом деле он работает нормально, поэтому я не понимаю такого ограничения. Откуда это?

Ответы [ 3 ]

1 голос
/ 15 ноября 2009

Не только возможно, но и желательно использовать один набор данных для всех источников данных, которые отображают одну и ту же информацию. Набор данных хранит данные, а источники данных - информацию о местоположении (курсор), необходимую компонентам, учитывающим данные.

0 голосов
/ 14 ноября 2009

Это безопасно, но почему бы просто не подключить один TDataSource к одному TDataSet? Они все будут делать то же самое.

0 голосов
/ 14 ноября 2009

Я думаю, что в lookuptables его следует сохранить, так как не имеет значения, где в наборе данных находится курсор. Я бы сказал: попробуй!

...