Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 2008.12.21;
Скачать: [xml.tar.bz2];

Вниз

Опять о DBGrid и выпадающем списке   Найти похожие ветки 

 
Thor234   (2008-11-14 18:23) [0]

Добрый вечер мастера.
Перечитал кучу факов, делаю все как в этом факе

Итак, есть две таблицы, одна из них содержит ссылку (числовой ID)
на вторую, где есть текствое описание чего-либо. Допустим - это таблица
человек и его специальность.
Наша цель - сделать так, чтобы при вводе/редактировании ФИО человека итд
в DBGrid из выпадающего списка можно было выбрать специальность.
Таблица человек --> Table1
Таблица специальности --> Table2
Путь решения - создание Lookup поля в Table1. Этапы
1. Вызываем редактор полей Table1, Click мышой
2. В редакторе полей правой кнопкой и New Field -> видим диалог
3. В диалоге
Name --> Profession (или как Вы его обзовете)
Type --> String
Size --> длина наименования профессии в Table2
FieldType --> Lookup
KeyFields --> имя числового поля Table1, в которое связывает нас с
Table2 (например prof_id)
Data set --> откуда мы будем брать строки описания, т.е Table2 Looku pKeys --> Ключевое поле Table2
ResultField --> наименование профессии из Table2
Жмем ОК
Теперь в DBGrid для Table1 данное поле будет содержать выпадающий список
с профессиями из Table2

В результате записям о человеке из таблицы1 верно соответствуют записи о проффессии из таблицы2, это то все верно, НО я не получаю выпадающего списка как должно быть, а получаю просто поля, хотя ведь выставляю, что поле должно быть Loockup
Использую IBDatabase, IBQuery, DataSource и DBGrid, СУБД FireBird
Помогите пожалуйста разобраться


 
sniknik ©   (2008-11-14 19:14) [1]

> НО я не получаю выпадающего списка как должно быть,
> а получаю просто поля, хотя ведь выставляю, что поле должно быть Loockup
а где смотришь? программу надо выполнить (т.е. не в режиме дизайна) и смотреть при редактирования поля, т.е. кликнуть на него мышкой или выделить и нажать ентер.

по описанию все правильно, и раз поле с профессией соответствует значит название верно "подтянулось" из второй таблицы, а раз так то и остальное должно работать.


 
Thor234   (2008-11-14 19:20) [2]

Вот в том то и дело, что я уже кучу факов перечитал, делаю все верно, уже несколько раз новый проект создавал- результат один: притягивается все верно, но без выпадающего списка...уже начинаю грешить на IBQuery или еще что-нибудь, я уже хз...


 
sniknik ©   (2008-11-14 19:24) [3]

может поставил полю readonly? или рекордсет получился "неживым"/не редактируемым, и тогда, не входя в редактирование, ты просто не можешь увидеть лукап в действии...


 
Thor234   (2008-11-14 19:32) [4]

sniknik
Проверил ридонли стоит False - отпадает
"или рекордсет получился "неживым"/не редактируемым" - а вот тут можно поподробней пожалуйста, что-то не понял как это проверить и что смотреть...


 
sniknik ©   (2008-11-14 19:38) [5]

проверить, попробуй другие поля по редактировать, результат сохраняется? если закрыть/открыть программу будут уже новые значения?
проверять лучше то поле которое у редактируется лукапом в таблице один, т.е.
> KeyFields --> имя числового поля Table1
его руками если оно рядом с лукапным в гриде стоит можешь изменить?
нет смысла если у тебя другие поля редактируемые а это нет.


 
Thor234   (2008-11-14 20:00) [6]

и действительно не одно поле я отредактировать не могу хотя записи выделяются и свойство DBGrid dgEditing - true, однако поле не редактируется вообще...ума не приложу в чем загвоздка


 
Thor234   (2008-11-14 21:50) [7]

Ребят ну может кто сталкивался помогите плиз.
Попробовал вместо IBQuery использовать IBTable и все замечательно работает, есть выпадающий список, хотя делаю тоже самое!
Видимо дело и вправду в том, что при использовании IBQuery таблица не редактируется, как решить эту проблему?


 
AndreyV ©   (2008-11-14 22:07) [8]

> [7] Thor234   (14.11.08 21:50)

TIBDataSet


 
sniknik ©   (2008-11-14 22:20) [9]

> Ребят ну может кто сталкивался помогите плиз.
а если не сталкивался, а просто разумный человек, и догадывается в чем там может быть дело, можно помочь? ;)

ты вообще там запросы на обновления прописал? это же фича IB компонент, многими превозносящаяся как самое удобное и естественное (можно сказать интуитивно понятное. ???)...
в списке используемого
> Использую IBDatabase, IBQuery, DataSource и DBGrid, СУБД FireBird
IBUpdateSQL нет.

может тебе сразу на ibase.ru ?

> TIBDataSet
да там пофигу, имхо, это же не ADO.


 
Johnmen ©   (2008-11-14 22:39) [10]


> sniknik ©   (14.11.08 22:20) [9]

Просто аффтар залил пивом F1. Что извинительно.
Но, думается, он просто тормоз...:)


 
AndreyV ©   (2008-11-14 23:04) [11]

> [9] sniknik ©   (14.11.08 22:20)
> > TIBDataSet
> да там пофигу, имхо, это же не ADO.

Пусть сразу и пропишет в TIBDataSet без IBQuery и IBUpdateSQL.


 
Thor234   (2008-11-15 03:14) [12]

Johnmen
Вместо того, чтобы оскорблять, Вы лучше бы что-нибудь умное сказали, а если сказать нечего то лучше вообще молчать.

Всем остальным мастерам большое спасибо, во всем разобрался, очень выручили, спасибо!


 
Германн ©   (2008-11-15 03:39) [13]


> Thor234   (15.11.08 03:14) [12]

Советую идти на север, Там точно никто не помешает!



Страницы: 1 вся ветка

Форум: "Начинающим";
Текущий архив: 2008.12.21;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.48 MB
Время: 0.088 c
2-1226311240
Rav4
2008-11-10 13:00
2008.12.21
postmessage - Как послать сообщение?


15-1224012169
guav
2008-10-14 23:22
2008.12.21
А мужики не знали


2-1226500334
Res
2008-11-12 17:32
2008.12.21
TJpegImage


15-1224770961
@!!ex
2008-10-23 18:09
2008.12.21
Хочу купить доменное имя, но оно уже занято... хостером...


2-1226610677
cruiser
2008-11-14 00:11
2008.12.21
Текстовый файл и определение номера или конца строки





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский