ramz
Зарегистрирован: 21.11.2001 Сообщения: 141
|
Добавлено: Вт Мар 04 2003 22:21 Заголовок сообщения: Несколько вопросов по интерфейсу поиска и ввода значения в таблицу. |
|
|
Доброго времени времени суток.
Например есть таблица:
[code] rec_id name fam phone 1 вася пупкин 01 2 коля колькин 02 3 маша машкина 03 4 ваня ванькин 04 [/code]
На форме два Lookup-комбобокса. Первый отображает поле name, второй - поле fam.
Вопрос 1: Как сделать, чтобы при выборе в первом комбике какогото значения, во втором отобразилось соответствующее ему ? Например, если выбрать в первом "коля", то во втором должно появится - "колькин" ?
Вопрос 2: Как сделать, чтобы значение в первом комбике можно было не выбирать с помощью мышки, а выбирать вводя первые буквы существующего значения ? Например нужно выбрать значение "ваня". В случае с ручным набором, это должно выгладеть так: Помещаем курсор в поле комбобокса (комбик с возможностью редактирования из RXlib), вводим первый символ "в", программа должна как бы предлагать дополнить это слово (как в Internet Explorer) до слова которое есть в поле name и начинается с такой буквы, (если таких слов больше одного, то предлагается ближайшее по алфавиту, или как ?), то есть в нашем случае слово "вася", но нам нужно "ваня", поэтому вводим дальше символ "а", снова ближайшее "вася", снова вводим следующий символ "н", и наконец получаем "ваня". Причем при каждом дополнении, хочется чтобы в комбике с фамилиями обновлялись значения, таким образом если "вань" много, то сразу можно перейти к второму комбику и там найти нужную фамилию.
Вопрос 3: Вот у меня есть Lookup-комбобокс в возможностью редактирования в нем данных. Как сделать, чтбы я мог ввести в него новое значение поля (например name) и чтобы это значение записалось в таблицу ? С учетом вопроса 2, если мне понадобится добавить в таблицу нового "ваню", но с другой фамилией, есть идея сделать кнопку-флаг: если она нажата, то данные вводятся, если нет то просто ищутся. Но тем не менее, как сделать, чтобы при вводе строки в поле комбика, по ентеру эта строка записалась в таблицу, и например фокус передался в комбик с фамилией, чтобы добавить фамилию ? Или проще ввести данные, а потом по нажатию еще одной кнопки, записать их ? Кто как делает ?
Вопрос 4: Как сделать, чтобы в DBGride, который например отображает вышеуказаную таблицу, была возможность редактирования и добавления данных ? Вопрос 5: Как сделать в DBGride один из столбцов, состоящий из комбобоксов ?
Как мне кажется вопросы достаточно примитивные, но сам с ними разобраться не могу. Поэтому жду конкретных ответов или ссылок по теме. Если не жалко, дайте работающий пример (пишу на Builder 6 под Interbase 6.5) Заранее спасибо. |
|
Hovrino
Зарегистрирован: 06.03.2003 Сообщения: 14 Откуда: Химки
|
Добавлено: Чт Мар 06 2003 15:27 Заголовок сообщения: Re: Несколько вопросов по интерфейсу поиска и ввода значения в таблицу. |
|
|
При одной таблице надо использовать не Lookup (он нужен для того, чтобы из одной таблицы пользователь мог загнать в другую), а обычный DBComboBox. На остальные вопросы отвечать не буду, т.к. тебе гораздо лучше поможет учебник. Почитай Delphi 4: руководство разработчика баз данных. Там все твои вопросы освещены подробно и толково. |
|