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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 10.11.2004, 14:22   #1  
DreamCreator is offline
DreamCreator
Moderator
Аватар для DreamCreator
Axapta Retail User
 
553 / 45 (3) +++
Регистрация: 04.11.2004
Адрес: Казань
Удаление Range
Существует ли возможность удалять добавленные Range?
Старый 10.11.2004, 14:29   #2  
Dron AKA andy is offline
Dron AKA andy
Moderator
 
944 / 253 (10) ++++++
Регистрация: 27.03.2002
Адрес: Москва
range.value('');
__________________
Андрей.
Старый 10.11.2004, 14:35   #3  
DreamCreator is offline
DreamCreator
Moderator
Аватар для DreamCreator
Axapta Retail User
 
553 / 45 (3) +++
Регистрация: 04.11.2004
Адрес: Казань
Все Range остались на месте!
Старый 10.11.2004, 14:36   #4  
ta_and is offline
ta_and
Участник
 
226 / 122 (5) +++++
Регистрация: 26.02.2002
Адрес: СПб
qbds.clearRange(...);
qbds.clearRanges();
Старый 10.11.2004, 14:44   #5  
Dron AKA andy is offline
Dron AKA andy
Moderator
 
944 / 253 (10) ++++++
Регистрация: 27.03.2002
Адрес: Москва
Как я понял из предыдущей вашей задачи, вам не нужно удалять range как таковой, а нужно всего лишь менять его в зависимости от неких условий. Вот и меняйте, а не создавайте каждый раз заново с необходимостью потом удалять. Я привел команду для сброса range, т.е. чтобы он не брался в расчет.
__________________
Андрей.
Старый 10.11.2004, 14:51   #6  
DreamCreator is offline
DreamCreator
Moderator
Аватар для DreamCreator
Axapta Retail User
 
553 / 45 (3) +++
Регистрация: 04.11.2004
Адрес: Казань
Код:

PHP код:
  info(WMCountLine_ds.query().dataSourceNo(1).toString());
  
this.query().dataSourceNo(1).addRange(fieldNum(WMCountLine,ItemId)).value('');
  
info(WMCountLine_ds.query().dataSourceNo(1).toString()); 
Но запрос при этом не менятется!
Старый 10.11.2004, 14:56   #7  
Dron AKA andy is offline
Dron AKA andy
Moderator
 
944 / 253 (10) ++++++
Регистрация: 27.03.2002
Адрес: Москва
Посмотрите на этот запрос на executeQuery() после super`a.
И опять - не надо добавлять range снова - найдите и используйте существующий.
__________________
Андрей.
Старый 10.11.2004, 15:07   #8  
DreamCreator is offline
DreamCreator
Moderator
Аватар для DreamCreator
Axapta Retail User
 
553 / 45 (3) +++
Регистрация: 04.11.2004
Адрес: Казань
PHP код:
    int   rangeCount this.query().dataSourceNo(1).rangeCount();

    for(
1rangeCounti++)
    {
        
this.query().dataSourceNo(1).range(i).value('');
    } 
Благодарю !!!
Старый 10.11.2004, 15:13   #9  
Dron AKA andy is offline
Dron AKA andy
Moderator
 
944 / 253 (10) ++++++
Регистрация: 27.03.2002
Адрес: Москва
Ну например так. Или воспользоваться методом findOrCreateRange_RU() из Global.
__________________
Андрей.
Старый 10.11.2004, 15:17   #10  
Ace of Database is offline
Ace of Database
Участник
Аватар для Ace of Database
 
877 / 649 (23) +++++++
Регистрация: 14.10.2004
Данный пример показывает, как стандартным образом внутри метода ExecuteQuery источника данных на форме можно манипулировать с range'ами

PHP код:
public void executeQuery()
{
    
QueryBuildRange         range;
    
QueryBuildDataSource    qbds;
    ;
    
//1. Ищем нужный нам range
    
qbds InventTable_DS.query().dataSourceNo(1);
    
range qbds.findRange(fieldNum(InventTableItemGroupId));

    
//2. Если не находим его, то добавляем
    
if (!range)
        
range qbds.addRange(fieldNum(InventTableItemGroupId));

    
//3. Изменяем его
    
range.value('сам такой');    

    
//После вызываем super
     
super();

Старый 10.11.2004, 19:10   #11  
mazzy is offline
mazzy
Участник
Аватар для mazzy
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
29,472 / 4494 (208) ++++++++++
Регистрация: 29.11.2001
Адрес: Москва
Записей в блоге: 10
Цитата:
Изначально опубликовано Dron AKA andy
range.value('');
передача пустой строки не меняет range.
надо передать кавычки, чтобы искать пустую строку.
http://axapta.mazzy.ru/hints/emptyqueryrange/
Старый 11.11.2004, 10:20   #12  
Dron AKA andy is offline
Dron AKA andy
Moderator
 
944 / 253 (10) ++++++
Регистрация: 27.03.2002
Адрес: Москва
Сергей, я это прекрасно знаю , а вопрос был не о поиске пустой строки, а о сбросе фильтра. Но намек на SysQuery::valueUnlimited() понял
__________________
Андрей.
Старый 11.11.2004, 10:57   #13  
Anais is offline
Anais
Участник
Аватар для Anais
 
182 / 10 (1) +
Регистрация: 16.06.2003
Адрес: Москва
Цитата:
Изначально опубликовано Ace of Database
Данный пример показывает, как
...
PHP код:
public void executeQuery()
{
...
    
range qbds.findRange(fieldNum(InventTableItemGroupId));

    
//2. Если не находим его, то добавляем
    
if (!range)
        
range qbds.addRange(fieldNum(InventTableItemGroupId));
...

А еще есть чудный метод
PHP код:
findOrCreateRange_RU(qbdsfieldnum(InventTableItemGroupId)); 
Это я так, к сведению...
__________________
Улыбаемся и машем, парни! Улыбаемся и машем...
 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
axaptapedia: Packing date range values in queries Blog bot DAX Blogs 1 09.11.2007 13:10
axaptafreak: Label for Query Range cannot be modified (still) Blog bot DAX Blogs 2 25.07.2007 10:09
Работа с Excel через COM и ошибка 0x800A03EC (Range.AutoFilter) gl00mie DAX: Программирование 15 30.03.2007 18:37
Копирование Range по имени (2.5) Wamr DAX: Программирование 9 14.05.2004 18:33
Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

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

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

Рейтинг@Mail.ru
Часовой пояс GMT +3, время: 15:39.