|
|
#1 |
|
Участник
|
Два одинаковых грида с разными данными
Собственно на форме есть 2 грида у обоих один и тот же ДС, возможно ли выводить в них 2 разных запроса, то есть записи выбранные по разным критериям. Сейчас при ds.executeQuery() выводиться, естественно, одинаковая информация в обоих гридах.
|
|
|
|
|
#2 |
|
северный Будда
|
а как вы себе представляете одновременное выполнение двух query на одном датасоурсе?
сделайте два датасоурса одной таблицы и работайте с ними по отдельности
__________________
С уважением, Вячеслав |
|
|
|
|
#3 |
|
Участник
|
Изначально так и хотел сделать, но потом подумал вдруг существует какая-нибудь приблуда)
|
|
|
|
|
#4 |
|
Участник
|
Вернусь к своему вопросу, столкнулся с такой ситуацией: имеем 2 грида на форме, к каждому гриду привязал свой датасоурс(Table, Table_1), оба дата соурса на основе одной таблицы(MainTable), пишу след код:
X++: qbds=Table_q.dataSourceNo(1);
qbds.clearRanges();
qbds.addRange(fieldNum(MainTable, Field)).value(value);
Table_ds.executeQuery();
qbds_2 = Table_1_q.dataSourceNo(1);
qbds_2.clearRanges();
qbds_2.addRange(fieldNum(MainTable, Field_1)).value(value);
Table_1_ds.executeQuery();X++: QueryBuildDatasource qbds;
;
qbds = this.query().dataSourceNo(1);
super(); |
|
|
|
|
#5 |
|
Ищущий знания...
|
может нужно не Table_q использовать, а Table_ds?
например: X++: qbds = Table_ds.query().dataSourceNo(1); .... qbds2 = Table_1_ds.query().dataSourceNo(1); ....
__________________
"Страх перед возможностью ошибки не должен отвращать нас от поисков истины." (с) С Уважением, Елизаров Артем |
|
|
|
|
#6 |
|
Участник
|
|
|
|
|
|
#7 |
|
Ищущий знания...
|
Странно... что за ошибка?
И кстати, в каком месте вы используете этот код?
__________________
"Страх перед возможностью ошибки не должен отвращать нас от поисков истины." (с) С Уважением, Елизаров Артем |
|
|
|
|
#8 |
|
Участник
|
|
|
|
|
|
#9 |
|
Участник
|
Посмотрите в свойства датасоурсов JoinSource и в запрос формы после init, нет ли dynalink между Table_ds и Table_1_ds таблицами. Если есть, то dataSourceNo(1) в обоих случаях будет возвращать первый датасоурс в запросе и накладывать на него фильтр.
|
|
|
|
|
#10 |
|
Ищущий знания...
|
а на какой строке кода он это пишет?
__________________
"Страх перед возможностью ошибки не должен отвращать нас от поисков истины." (с) С Уважением, Елизаров Артем |
|
|
|
|
#11 |
|
северный Будда
|
А где вы этот код пишете? Для отдельных датасоурсов нужны отдельные init, executeQuery вызывать нужно тоже порознь
__________________
С уважением, Вячеслав |
|
|
|
|
#12 |
|
Участник
|
Цитата:
X++: qbds_2.addRange(fieldNum(MainTable, Field_1)).value(value);X++: qbds.addRange(fieldNum(MainTable, Field)).value(value); |
|
|
|
|
#13 |
|
Участник
|
После танцев с бубнами проблему решил, всем спасибо за помощь!
|
|
|
|
|
#14 |
|
Ищущий знания...
|
если Вам не трудно, напишите здесь, для истории, какие танцы "были исполнены" и в чем была проблема
__________________
"Страх перед возможностью ошибки не должен отвращать нас от поисков истины." (с) С Уважением, Елизаров Артем |
|
|
|
|
#15 |
|
Участник
|
Для доработки использовал стандартный датасоурс ProdTable и свой созданный ДС тоже на основе таблицы ProdTable, в результате возникали вышеуказанные трудности, поэтому отказался от стандартного ProdTable и создал еще 1 ДС свой, после этого все заработало.
|
|
|
|
|
#16 |
|
Участник
|
В итоге получилось форма с 3 мя гридами, которые содержат объемную информацию, что затрудняет запуск формы, каким образом можно указать не заполнять грид при ините формы, пробовал так:
X++: qbds=Table_q.dataSourceNo(1);
qbds.clearRanges();
Table_ds.executeQuery(); |
|
|