05.08.2011, 12:05 | #1 |
Участник
|
Два одинаковых грида с разными данными
Собственно на форме есть 2 грида у обоих один и тот же ДС, возможно ли выводить в них 2 разных запроса, то есть записи выбранные по разным критериям. Сейчас при ds.executeQuery() выводиться, естественно, одинаковая информация в обоих гридах.
|
|
05.08.2011, 12:22 | #2 |
северный Будда
|
а как вы себе представляете одновременное выполнение двух query на одном датасоурсе? сделайте два датасоурса одной таблицы и работайте с ними по отдельности
__________________
С уважением, Вячеслав |
|
05.08.2011, 13:09 | #3 |
Участник
|
Изначально так и хотел сделать, но потом подумал вдруг существует какая-нибудь приблуда)
|
|
10.08.2011, 10:11 | #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(); |
|
10.08.2011, 10:51 | #5 |
Ищущий знания...
|
может нужно не Table_q использовать, а Table_ds?
например: X++: qbds = Table_ds.query().dataSourceNo(1); .... qbds2 = Table_1_ds.query().dataSourceNo(1); ....
__________________
"Страх перед возможностью ошибки не должен отвращать нас от поисков истины." (с) С Уважением, Елизаров Артем |
|
10.08.2011, 11:06 | #6 |
Участник
|
|
|
10.08.2011, 11:13 | #7 |
Ищущий знания...
|
Странно... что за ошибка?
И кстати, в каком месте вы используете этот код?
__________________
"Страх перед возможностью ошибки не должен отвращать нас от поисков истины." (с) С Уважением, Елизаров Артем |
|
10.08.2011, 11:20 | #8 |
Участник
|
|
|
10.08.2011, 11:29 | #9 |
Участник
|
Посмотрите в свойства датасоурсов JoinSource и в запрос формы после init, нет ли dynalink между Table_ds и Table_1_ds таблицами. Если есть, то dataSourceNo(1) в обоих случаях будет возвращать первый датасоурс в запросе и накладывать на него фильтр.
|
|
10.08.2011, 11:36 | #10 |
Ищущий знания...
|
а на какой строке кода он это пишет?
__________________
"Страх перед возможностью ошибки не должен отвращать нас от поисков истины." (с) С Уважением, Елизаров Артем |
|
10.08.2011, 11:54 | #11 |
северный Будда
|
А где вы этот код пишете? Для отдельных датасоурсов нужны отдельные init, executeQuery вызывать нужно тоже порознь
__________________
С уважением, Вячеслав |
|
10.08.2011, 13:10 | #12 |
Участник
|
Цитата:
X++: qbds_2.addRange(fieldNum(MainTable, Field_1)).value(value); X++: qbds.addRange(fieldNum(MainTable, Field)).value(value); |
|
10.08.2011, 13:47 | #13 |
Участник
|
После танцев с бубнами проблему решил, всем спасибо за помощь!
|
|
10.08.2011, 15:20 | #14 |
Ищущий знания...
|
если Вам не трудно, напишите здесь, для истории, какие танцы "были исполнены" и в чем была проблема
__________________
"Страх перед возможностью ошибки не должен отвращать нас от поисков истины." (с) С Уважением, Елизаров Артем |
|
11.08.2011, 10:05 | #15 |
Участник
|
Для доработки использовал стандартный датасоурс ProdTable и свой созданный ДС тоже на основе таблицы ProdTable, в результате возникали вышеуказанные трудности, поэтому отказался от стандартного ProdTable и создал еще 1 ДС свой, после этого все заработало.
|
|
11.08.2011, 10:36 | #16 |
Участник
|
В итоге получилось форма с 3 мя гридами, которые содержат объемную информацию, что затрудняет запуск формы, каким образом можно указать не заполнять грид при ините формы, пробовал так:
X++: qbds=Table_q.dataSourceNo(1); qbds.clearRanges(); Table_ds.executeQuery(); |
|