|
|
|
|
#1 |
|
Участник
|
Посмотрите узел Формы.
Формы tutorial* Особенно, tutorial_Form_Join - на ней можно исследовать различное поведение формы при изменении свойства linkType - на ней же можете и пробовать менять SQL запрос динамически. Вообще, его менять можно, но не сильно - то есть датасорсы все-таки должны остаться на тех же таблицах |
|
|
|
|
#2 |
|
Участник
|
Ага, кажется, начинает проясняться.
Ув. sukhanchik, по поводу литературы - я вот иногда думаю, что мне стоит не кодить, а книжки писать . Я смотрю на форум, смотрю на книжку и вижу семерых слепых мудрецов, которые слона пощупали и теперь пытаются объяснит мне, восьмому слепому мудрецу, какой он есть, а я щупал до этого не слонов, и все пытаюсь понять, что такое "хобот" и почему у него такие большие уши. Между тем, следовало бы сначала понять, что такое слон в совокупности, а уже потом то, зачем ему уши и хобот . И, мне кажется, в книжке "слон в совокупности" упущен совершенно, что меня очень печалит. За совет посмотреть \Forms\SalesTable - спасибо, я там нарыл довольно интересную информацию :-).Ув. belugin, к сожалению, не совсем понимаю, что такое "представитель", однако также очень благодарен за пояснения - теперь мне понятно хотя бы по поводу того, как могут быть взаимосвязаны датасорсы. Еще есть вопрос по поводу рилейшн - какую роль играют они? Это как бы шаблон для связи датасорсов? Ув. kashperuk, спасибо, теперь я открыл для себя целую ветку полезной информации в виде примеров! Еще мне непонятно, каким образом связаны гриды и датасорсы. Если сделать research() на датасорсе, должен ли обновиться грид или нет? Как сделать так, чтобы он обновился? У меня есть кусок кода, который не глючит, но не работает подскажите, почему....void clicked() // (CommandButton) { Query query; QueryBuildDataSource qbd1; QueryBuildDataSource qbd2; ; query = new Query(); qbd1 = query.addDataSource(TableNum(VendContractItem)); qbd2 = qbd1.addDataSource(TableNum(VendContractSelectedItem)); qbd2.addLink(FieldNum(VendContractItem,ItemId), FieldNum(VendContractSelectedItem,ItemId)); qbd2.joinMode(JoinMode::InnerJoin); VendContractItem_ds.query(query); VendContractItem_ds.research(); super(); } т.е. запрос вроде бы составляется, но обновления грида не происходит. Почему? Возможно ли, чтобы на это влияли какие-нибудь join'ы, прописанные в датасорсах? Или есть нечто, чего я не сделал? Или эта конструкция вообще не должна работать в этом событии? |
|
|
| Теги |
| datasource, query, датасорс (datasource), запрос (query), форма, crm2011 |
|
|
|