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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 23.07.2008, 12:26   #1  
Poleax is offline
Poleax
Модератор
Аватар для Poleax
MCP
MCBMSS
Злыдни
 
1,353 / 595 (22) +++++++
Регистрация: 17.02.2005
Адрес: msk
Записей в блоге: 34
Red face Как скрыть лишние DataSource у кнопки "Выбрать"
Создал Query в AOT из 4 таблиц.
Динамически подцепляю его в классе создания отчета в Excel.
Открывается форма. У кнопки "Выбрать" отображаются 4 таблички и их основные поля для выбора.
Как мне оставить у кнопки Выбрать только один DataSource, а возможность редактирование у остальных 3-х скрыть?

Разве для каждого DataSource в Query надо в Range у поля проставить статус в Hide?
Старый 23.07.2008, 12:30   #2  
_scorp_ is offline
_scorp_
Участник
Аватар для _scorp_
MCBMSS
 
488 / 369 (13) ++++++
Регистрация: 25.07.2007
Адрес: Москва
свойство AllowAdd на DataSource в Query.
Старый 23.07.2008, 12:52   #3  
Poleax is offline
Poleax
Модератор
Аватар для Poleax
MCP
MCBMSS
Злыдни
 
1,353 / 595 (22) +++++++
Регистрация: 17.02.2005
Адрес: msk
Записей в блоге: 34
Цитата:
Сообщение от _scorp_ Посмотреть сообщение
свойство AllowAdd на DataSource в Query.
Это не то .. меняю значение на "No fields"
При запуске класса создающего диалоговое окно.. все так же 4 таблички и отображаются.
Старый 23.07.2008, 12:56   #4  
_scorp_ is offline
_scorp_
Участник
Аватар для _scorp_
MCBMSS
 
488 / 369 (13) ++++++
Регистрация: 25.07.2007
Адрес: Москва
Пользуйтесь поиском Datasource в RunBaseBatch
Старый 23.07.2008, 13:12   #5  
Poleax is offline
Poleax
Модератор
Аватар для Poleax
MCP
MCBMSS
Злыдни
 
1,353 / 595 (22) +++++++
Регистрация: 17.02.2005
Адрес: msk
Записей в блоге: 34
свойство AllowAdd на DataSource в Query.
не позволяет редактировать поля данного DataSource по кнопке Выбрать.

а мне бы просто их скрыть. Программно работать с полями таблицы все равно придет. И фильтр накладывать.

Так ответ пока открыт.. как скрыть диапазон фильтров 3-м DataSource для Query из 4 DataSource
Старый 23.07.2008, 13:19   #6  
Russland is offline
Russland
MCTS
Аватар для Russland
MCBMSS
 
267 / 116 (4) +++++
Регистрация: 17.10.2005
Адрес: Донеччина, Україна
a Enabled No на DataSource в Query пойдёт?
__________________

В глухомани, в лесу Несмотря на красу Дни проводит Лиса Патрикевна. Я никак не пойму Отчего, почему Не пускают куму На деревню
Старый 23.07.2008, 13:34   #7  
_scorp_ is offline
_scorp_
Участник
Аватар для _scorp_
MCBMSS
 
488 / 369 (13) ++++++
Регистрация: 25.07.2007
Адрес: Москва
Цитата:
Сообщение от Poleax Посмотреть сообщение
свойство AllowAdd на DataSource в Query.
не позволяет редактировать поля данного DataSource по кнопке Выбрать.

а мне бы просто их скрыть. Программно работать с полями таблицы все равно придет. И фильтр накладывать.

Так ответ пока открыт.. как скрыть диапазон фильтров 3-м DataSource для Query из 4 DataSource
AllowAdd програмно работать Вам и не запретит. Он запретит интерактивно создавать новые Range на этом датасорсе, а так же удалять существующие, но менять значение у существующих разрешит. А для того чтобы скрыть наложенный фильтр, выход только один - статус Range в Hide.
Старый 23.07.2008, 13:36   #8  
miklenew is offline
miklenew
Участник
Аватар для miklenew
MCBMSS
1C
Лучший по профессии 2009
 
1,688 / 433 (18) +++++++
Регистрация: 10.07.2006
Адрес: г. Ликино-Дулёво
Цитата:
Сообщение от Poleax Посмотреть сообщение
а мне бы просто их скрыть. Программно работать с полями таблицы все равно придет. И фильтр накладывать.
Т.е. вы хотите чтоб фильтр по какому-нибудь полю был, а на диалоге этого видно не было так?
Если так, то это не правильно. Пользователь не должен в сам фильтр лезьть.
Для этого интерфейсные элементы должны быть.
А если вам мешают только range по индексным полям, которые система автоматически создаёт, если вы не задали не одного range
То есть метод showIndexFields.
Старый 23.07.2008, 13:38   #9  
Poleax is offline
Poleax
Модератор
Аватар для Poleax
MCP
MCBMSS
Злыдни
 
1,353 / 595 (22) +++++++
Регистрация: 17.02.2005
Адрес: msk
Записей в блоге: 34
Цитата:
Сообщение от Russland Посмотреть сообщение
a Enabled No на DataSource в Query пойдёт?
К сожалению не подойдет. Enable = No вообще его убирает с Query.

Я думаю вопрос закрыт. Я просто накидал в Range для каждого DataSource все поля из кластерного индекса таблицы и выставил всем hide в статусе.
Возле кнопки выбрать получилось то что надо
И Query полный получился с 4 DataSource.

P.S. думал одним свойством отделаться... получилось то как и думалось.. Немного ручного труда и вопрос закрыт.

Если я на счет Enable не прав, поправьте..

Последний раз редактировалось Poleax; 23.07.2008 в 13:58.
Старый 23.07.2008, 13:47   #10  
Poleax is offline
Poleax
Модератор
Аватар для Poleax
MCP
MCBMSS
Злыдни
 
1,353 / 595 (22) +++++++
Регистрация: 17.02.2005
Адрес: msk
Записей в блоге: 34
miklenew
В Range как раз и нет полей.. а система их вытягивает из индекса.

А что, где этот метод showIndexFields? жаль это не свойство.
программно проставить в false ?
Старый 23.07.2008, 13:53   #11  
miklenew is offline
miklenew
Участник
Аватар для miklenew
MCBMSS
1C
Лучший по профессии 2009
 
1,688 / 433 (18) +++++++
Регистрация: 10.07.2006
Адрес: г. Ликино-Дулёво
Цитата:
Сообщение от Poleax Посмотреть сообщение
miklenew
А что, где этот метод showIndexFields?
В классе RunBase.
Можно же его перекрыть в вашем диалоге.
Поставить true, если tableId = вашему датасорсу.
Старый 23.07.2008, 14:02   #12  
Poleax is offline
Poleax
Модератор
Аватар для Poleax
MCP
MCBMSS
Злыдни
 
1,353 / 595 (22) +++++++
Регистрация: 17.02.2005
Адрес: msk
Записей в блоге: 34
miklenew
т.е.
в методе initQuery можно повставлять
X++:
 this.showIndexFields(tablenum(InventDim));
 this.showIndexFields(tablenum(ProdBOM));
 this.showIndexFields(tablenum(InventTrans));
и в АОТ в самом Query все поля из индекса в Range повыбрасывать?

Query будет собираться по 4 таблицам, только в диалоговой форме фильтры по 3 таблиц видно не будет?
Правильно я понял?

останется только нужная мне первая таблица ProdTable
Старый 23.07.2008, 14:18   #13  
miklenew is offline
miklenew
Участник
Аватар для miklenew
MCBMSS
1C
Лучший по профессии 2009
 
1,688 / 433 (18) +++++++
Регистрация: 10.07.2006
Адрес: г. Ликино-Дулёво
Не знаю. Пробовать надо.
Я имел ввиду не вызывать, а перекрыть метод.
Старый 23.07.2008, 14:57   #14  
Poleax is offline
Poleax
Модератор
Аватар для Poleax
MCP
MCBMSS
Злыдни
 
1,353 / 595 (22) +++++++
Регистрация: 17.02.2005
Адрес: msk
Записей в блоге: 34
Как мне кажется лучшим решением было:

1) В каждый DataSource в range добавить все поля из индекса и выставить Status в hide
2) Таблицы в DataSource свойство AllowAdd выставить в No Fileds. Чтоб пользователь не менял.
3) метод не перекрывать showIndexFields и не вызывать.

X++:
boolean showIndexFields(tableId id)
{
    ;
    return false;
}
Так как он всю красоту портит.. поля, да не выводятся, но почему теперь выводятся названия таблиц. Зачем они отображаются без поле не понятно..

Последний раз редактировалось Poleax; 23.07.2008 в 15:02.
Старый 24.07.2008, 11:43   #15  
Maxim Gorbunov is offline
Maxim Gorbunov
Administrator
Соотечественники
Лучший по профессии 2009
 
2,483 / 645 (26) +++++++
Регистрация: 27.11.2001
Адрес: Dubai, UAE
ИМХО, если встал такой вопрос, то Вы, скорее всего, неправильно задизайнили Query.
__________________
Not registered yet? Register here!
Have comments, questions, suggestions or anything else regarding our web site? Don't hesitate, send them to me
Теги
datasource, query

 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
C# and AX Development: Updating the caller Form/DataSource Blog bot DAX Blogs 0 18.07.2009 02:28
Обновление таблицы в DataSource при ее изменении Андре DAX: База знаний и проекты 7 22.04.2008 13:16
axaptafreak: Getting new table fields into your form datasource Blog bot DAX Blogs 2 24.01.2008 22:51
Заполнение DataSource из постоянной и временной таблиц m_ax DAX: Программирование 2 21.06.2007 13:08
Грид и поле в строке, не связанное с DataSource NataLee DAX: Программирование 2 26.01.2004 17:02

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

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

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