AXForum  
Вернуться   AXForum > Microsoft Dynamics AX > DAX: Программирование
All
Забыли пароль?
Зарегистрироваться Правила Справка Пользователи Сообщения за день Поиск

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 05.08.2011, 12:05   #1  
AngelDominantes is offline
AngelDominantes
Участник
 
76 / 9 (1) +
Регистрация: 30.12.2010
Два одинаковых грида с разными данными
Собственно на форме есть 2 грида у обоих один и тот же ДС, возможно ли выводить в них 2 разных запроса, то есть записи выбранные по разным критериям. Сейчас при ds.executeQuery() выводиться, естественно, одинаковая информация в обоих гридах.
Старый 05.08.2011, 12:22   #2  
pitersky is offline
pitersky
северный Будда
Аватар для pitersky
Ex AND Project
Соотечественники
 
1,486 / 408 (16) +++++++
Регистрация: 26.09.2007
Адрес: Солнечная система
а как вы себе представляете одновременное выполнение двух query на одном датасоурсе? сделайте два датасоурса одной таблицы и работайте с ними по отдельности
__________________
С уважением,
Вячеслав
Старый 05.08.2011, 13:09   #3  
AngelDominantes is offline
AngelDominantes
Участник
 
76 / 9 (1) +
Регистрация: 30.12.2010
Изначально так и хотел сделать, но потом подумал вдруг существует какая-нибудь приблуда)
Старый 10.08.2011, 10:11   #4  
AngelDominantes is offline
AngelDominantes
Участник
 
76 / 9 (1) +
Регистрация: 30.12.2010
Вернусь к своему вопросу, столкнулся с такой ситуацией: имеем 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();
Код метода executeQuery() на обоих датасоурсах:
X++:
    QueryBuildDatasource    qbds;
    ;
    qbds = this.query().dataSourceNo(1);
    super();
В результате в каждом гриде должны отображаться записи выбранные по разным критериям(Field, Field_1). Однако на деле в обоих гридах отображаются одинаковые записи, в чем тут загвоздка?
Старый 10.08.2011, 10:51   #5  
lev is offline
lev
Ищущий знания...
Аватар для lev
Oracle
MCBMSS
Axapta Retail User
 
1,723 / 491 (20) +++++++
Регистрация: 18.01.2005
Адрес: Москва
может нужно не Table_q использовать, а Table_ds?

например:
X++:
qbds = Table_ds.query().dataSourceNo(1);
....
qbds2 = Table_1_ds.query().dataSourceNo(1);
....
__________________
"Страх перед возможностью ошибки не должен отвращать нас от поисков истины." (с)
С Уважением,
Елизаров Артем
Старый 10.08.2011, 11:06   #6  
AngelDominantes is offline
AngelDominantes
Участник
 
76 / 9 (1) +
Регистрация: 30.12.2010
Цитата:
Сообщение от lev Посмотреть сообщение
может нужно не Table_q использовать, а Table_ds?

например:
X++:
qbds = Table_ds.query().dataSourceNo(1);
....
qbds2 = Table_1_ds.query().dataSourceNo(1);
....
Такой код к сожалению вызывает ошибку
Старый 10.08.2011, 11:13   #7  
lev is offline
lev
Ищущий знания...
Аватар для lev
Oracle
MCBMSS
Axapta Retail User
 
1,723 / 491 (20) +++++++
Регистрация: 18.01.2005
Адрес: Москва
Цитата:
Сообщение от AngelDominantes Посмотреть сообщение
Такой код к сожалению вызывает ошибку
Странно... что за ошибка?
И кстати, в каком месте вы используете этот код?
__________________
"Страх перед возможностью ошибки не должен отвращать нас от поисков истины." (с)
С Уважением,
Елизаров Артем
Старый 10.08.2011, 11:20   #8  
AngelDominantes is offline
AngelDominantes
Участник
 
76 / 9 (1) +
Регистрация: 30.12.2010
Цитата:
Сообщение от lev Посмотреть сообщение
Странно... что за ошибка?
И кстати, в каком месте вы используете этот код?
X++:
 FormDataSource    .
А код я использую в методе selectionChanged на дереве, расположенном на той же форме.
Старый 10.08.2011, 11:29   #9  
dmitro is offline
dmitro
Участник
 
48 / 19 (1) ++
Регистрация: 18.07.2008
Адрес: Москва, РФ
Посмотрите в свойства датасоурсов JoinSource и в запрос формы после init, нет ли dynalink между Table_ds и Table_1_ds таблицами. Если есть, то dataSourceNo(1) в обоих случаях будет возвращать первый датасоурс в запросе и накладывать на него фильтр.
Старый 10.08.2011, 11:36   #10  
lev is offline
lev
Ищущий знания...
Аватар для lev
Oracle
MCBMSS
Axapta Retail User
 
1,723 / 491 (20) +++++++
Регистрация: 18.01.2005
Адрес: Москва
Цитата:
Сообщение от AngelDominantes Посмотреть сообщение
X++:
 FormDataSource    .
А код я использую в методе selectionChanged на дереве, расположенном на той же форме.
а на какой строке кода он это пишет?
__________________
"Страх перед возможностью ошибки не должен отвращать нас от поисков истины." (с)
С Уважением,
Елизаров Артем
Старый 10.08.2011, 11:54   #11  
pitersky is offline
pitersky
северный Будда
Аватар для pitersky
Ex AND Project
Соотечественники
 
1,486 / 408 (16) +++++++
Регистрация: 26.09.2007
Адрес: Солнечная система
Цитата:
Сообщение от AngelDominantes Посмотреть сообщение
пишу след код...
... на деле в обоих гридах отображаются одинаковые записи, в чем тут загвоздка?
А где вы этот код пишете? Для отдельных датасоурсов нужны отдельные init, executeQuery вызывать нужно тоже порознь
__________________
С уважением,
Вячеслав
Старый 10.08.2011, 13:10   #12  
AngelDominantes is offline
AngelDominantes
Участник
 
76 / 9 (1) +
Регистрация: 30.12.2010
Цитата:
Сообщение от pitersky Посмотреть сообщение
А где вы этот код пишете? Для отдельных датасоурсов нужны отдельные init, executeQuery вызывать нужно тоже порознь
Это на форме ProdTable, в обработчике selectionChanged на дереве(в стандартной функциональности его нет), executeQuery у каждого дата соурса свой. Init() на дата сорусе Table_1не перекрывал чисто executeQuery и что самое интересное в отладчике

X++:
qbds_2.addRange(fieldNum(MainTable, Field_1)).value(value);
Заполняется именно теми данными которые мне нужны, но на форме отображаются данные вот из этого запроса:

X++:
qbds.addRange(fieldNum(MainTable, Field)).value(value);
То есть грубо, допустим есть таблица и три записи a,b,c. первый запрос возвращает - a,c второй - b.В коде так, но на форме вместо того что бы в грид выводилось b выводиться - a из первого запроса.
Старый 10.08.2011, 13:47   #13  
AngelDominantes is offline
AngelDominantes
Участник
 
76 / 9 (1) +
Регистрация: 30.12.2010
После танцев с бубнами проблему решил, всем спасибо за помощь!
Старый 10.08.2011, 15:20   #14  
lev is offline
lev
Ищущий знания...
Аватар для lev
Oracle
MCBMSS
Axapta Retail User
 
1,723 / 491 (20) +++++++
Регистрация: 18.01.2005
Адрес: Москва
Цитата:
Сообщение от AngelDominantes Посмотреть сообщение
После танцев с бубнами проблему решил, всем спасибо за помощь!
если Вам не трудно, напишите здесь, для истории, какие танцы "были исполнены" и в чем была проблема
__________________
"Страх перед возможностью ошибки не должен отвращать нас от поисков истины." (с)
С Уважением,
Елизаров Артем
Старый 11.08.2011, 10:05   #15  
AngelDominantes is offline
AngelDominantes
Участник
 
76 / 9 (1) +
Регистрация: 30.12.2010
Для доработки использовал стандартный датасоурс ProdTable и свой созданный ДС тоже на основе таблицы ProdTable, в результате возникали вышеуказанные трудности, поэтому отказался от стандартного ProdTable и создал еще 1 ДС свой, после этого все заработало.
Старый 11.08.2011, 10:36   #16  
AngelDominantes is offline
AngelDominantes
Участник
 
76 / 9 (1) +
Регистрация: 30.12.2010
В итоге получилось форма с 3 мя гридами, которые содержат объемную информацию, что затрудняет запуск формы, каким образом можно указать не заполнять грид при ините формы, пробовал так:
X++:
            qbds=Table_q.dataSourceNo(1);
            qbds.clearRanges();
            Table_ds.executeQuery();
Но не срабатывает(
 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
EP AX2009: сохранить параметры грида (фильтр, позиционирование) caper DAX: Программирование 9 01.04.2010 09:16
Два Дата Сурс для одного Грида AndrianG DAX: Программирование 9 12.12.2008 17:36
Как запольнить грид данными из таблицы с филтьтрацией. IS DAX: Функционал 11 26.04.2004 18:05
Сколько раз вызывается DataMethod поля грида при инициализации этого грида? storer DAX: Программирование 2 18.11.2003 14:03
Про два грида на одной форме YVAS DAX: Программирование 4 01.08.2003 10:53

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход

Рейтинг@Mail.ru
Часовой пояс GMT +3, время: 07:12.
Powered by vBulletin® v3.8.5. Перевод: zCarot
Контактная информация, Реклама.