23.07.2008, 12:26 | #1 |
Модератор
|
Как скрыть лишние DataSource у кнопки "Выбрать"
Создал Query в AOT из 4 таблиц.
Динамически подцепляю его в классе создания отчета в Excel. Открывается форма. У кнопки "Выбрать" отображаются 4 таблички и их основные поля для выбора. Как мне оставить у кнопки Выбрать только один DataSource, а возможность редактирование у остальных 3-х скрыть? Разве для каждого DataSource в Query надо в Range у поля проставить статус в Hide? |
|
23.07.2008, 12:30 | #2 |
Участник
|
свойство AllowAdd на DataSource в Query.
|
|
23.07.2008, 12:52 | #3 |
Модератор
|
|
|
23.07.2008, 12:56 | #4 |
Участник
|
Пользуйтесь поиском Datasource в RunBaseBatch
|
|
23.07.2008, 13:12 | #5 |
Модератор
|
свойство AllowAdd на DataSource в Query.
не позволяет редактировать поля данного DataSource по кнопке Выбрать. а мне бы просто их скрыть. Программно работать с полями таблицы все равно придет. И фильтр накладывать. Так ответ пока открыт.. как скрыть диапазон фильтров 3-м DataSource для Query из 4 DataSource |
|
23.07.2008, 13:19 | #6 |
MCTS
|
a Enabled No на DataSource в Query пойдёт?
__________________
В глухомани, в лесу Несмотря на красу Дни проводит Лиса Патрикевна. Я никак не пойму Отчего, почему Не пускают куму На деревню |
|
23.07.2008, 13:34 | #7 |
Участник
|
Цитата:
Сообщение от Poleax
свойство AllowAdd на DataSource в Query.
не позволяет редактировать поля данного DataSource по кнопке Выбрать. а мне бы просто их скрыть. Программно работать с полями таблицы все равно придет. И фильтр накладывать. Так ответ пока открыт.. как скрыть диапазон фильтров 3-м DataSource для Query из 4 DataSource |
|
23.07.2008, 13:36 | #8 |
Участник
|
Цитата:
Если так, то это не правильно. Пользователь не должен в сам фильтр лезьть. Для этого интерфейсные элементы должны быть. А если вам мешают только range по индексным полям, которые система автоматически создаёт, если вы не задали не одного range То есть метод showIndexFields. |
|
23.07.2008, 13:38 | #9 |
Модератор
|
К сожалению не подойдет. Enable = No вообще его убирает с Query.
Я думаю вопрос закрыт. Я просто накидал в Range для каждого DataSource все поля из кластерного индекса таблицы и выставил всем hide в статусе. Возле кнопки выбрать получилось то что надо И Query полный получился с 4 DataSource. P.S. думал одним свойством отделаться... получилось то как и думалось.. Немного ручного труда и вопрос закрыт. Если я на счет Enable не прав, поправьте.. Последний раз редактировалось Poleax; 23.07.2008 в 13:58. |
|
23.07.2008, 13:47 | #10 |
Модератор
|
miklenew
В Range как раз и нет полей.. а система их вытягивает из индекса. А что, где этот метод showIndexFields? жаль это не свойство. программно проставить в false ? |
|
23.07.2008, 13:53 | #11 |
Участник
|
|
|
23.07.2008, 14:02 | #12 |
Модератор
|
miklenew
т.е. в методе initQuery можно повставлять X++: this.showIndexFields(tablenum(InventDim)); this.showIndexFields(tablenum(ProdBOM)); this.showIndexFields(tablenum(InventTrans)); Query будет собираться по 4 таблицам, только в диалоговой форме фильтры по 3 таблиц видно не будет? Правильно я понял? останется только нужная мне первая таблица ProdTable |
|
23.07.2008, 14:18 | #13 |
Участник
|
Не знаю. Пробовать надо.
Я имел ввиду не вызывать, а перекрыть метод. |
|
23.07.2008, 14:57 | #14 |
Модератор
|
Как мне кажется лучшим решением было:
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 |
Administrator
|
ИМХО, если встал такой вопрос, то Вы, скорее всего, неправильно задизайнили 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 |
|
|