10.12.2005, 18:42 | #1 |
Участник
|
Народ, подскажите, пожалуйста. Такая проблема. Мне нужно создать выпадывающий список и чтобы значения в нем были результатом некоторой выборки из таблицы. Ну скажем там, названия документов. Я нашел в tutorials пример такой формы, но че-то не могу разобраться. Помогите, пожалуйста. Заранее спасибо.
P.s. Прощу прощения, если я спрашиваю о том, что уже где-то обсуждалось на форуме. |
|
10.12.2005, 19:58 | #2 |
Участник
|
Выпадающий список - это lookup.
ищите в руководстве по этому ключевому слову. Если ваша выборка является статичной - то: 1. создайте новый тип, 2. укажите что он расширяет нужный вам и 3. задайте relation на этом типе. В этом случае вам ничего программировать не нужно, просто вытащите на форму контрол вашего типа. Если ваша выборка зависит от других параметров динамически, то вам нужно переопределить метод lookup у контрола или у датасорса формы. Читайте руководство. |
|
10.12.2005, 20:10 | #3 |
Участник
|
Спасибо большое. Попробую почитать.
|
|
11.12.2005, 10:09 | #4 |
Участник
|
А вот еще. Как можно взять данные из полей выпадывающего списка? В строку или переменную. Вот к примеру в lookup'е у меня 3 поля: имя документа, номер, дата. Имя документа вытащить получается, а вот как остальные поля не знаю. Интересно также как можно забрать данные из неотображаемых в lookup'е полей?
Подскажите, пожалуйста. |
|
11.12.2005, 11:16 | #5 |
Участник
|
Это неправильная постановка задачи.
Суть lookup'а: 1. у вас есть ОДНО поле, в которое надо установить значение 2. вместо того, чтобы набирать руками, вы можете подставить ОДНО значение из списка. Поэтому вопрос - КУДА вы собираетесь подставить 3 поля? Вы сейчас будете много программировать. А на самом деле вам надо понять суть того, что вы делаете. |
|
11.12.2005, 19:17 | #6 |
Участник
|
Да собственно уже почти все сделал. Процентов на 90. Задача следующая: Перегрузка документов в файл. Есть форма, в которой существует lookup. Есть таблица, в которой три поля: имя документа, номер, дата. Список выпадывает и выдает все записи из этой таблицы. Это все прекрасно работает. Я выбираю один из документов. В string edit'е я ввожу имя файла, в который я перегружаю соответствующие данные. Теперь мне необходимо по нажатию на кнопку перегрузить в соответствующий файл значения всех полей с выбранным документов. У меня получается выбрать название документа [выбранного в lookup'e]. Это делается с помощью метода dragtext. Мне удается его записать в файл. Вопрос в том, как забрать данные из полей номер документа (int) и дата документа (date). И как сделать, если в lookup'е отображаются эти три поля, а в соответствующей таблице имеются 10 полей и как мне значения из оставшихся 7 выбрать?
Я вот пытался написать какой-то запрос. Получал из lookup'а значение документа [записывал его в строковую переменную] и пытался подставлять переменную в запрос. Не работает. Наверное, мне нужны какие-то средства динамического формирования запросов. И как-то это выполнять. Я новичок в Axapt'е. Поэтому возникают такие проблемы. |
|
12.12.2005, 08:26 | #7 |
Участник
|
Цитата:
Говорю же, вы не с того конца задачу решаете. Еще раз повторю. Суть lookup'а: 1. у вас есть ОДНО поле, в которое надо установить значение 2. вместо того, чтобы набирать руками, вы можете подставить ОДНО значение из списка. Лукап не используется для решения других задач. Только для этой. Вы должны получить одно поле. Затем по нему выполнить поиск в таблице и однозначно найти выбранную вами запись. Т.е. вам не нужно ЗАБИРАТЬ что-либо из лукапа. Вам нужно выполнить поиск в таблице, используя выбранное вами значение. |
|