Форум: "Начинающим";
Текущий архив: 2006.12.10;
Скачать: [xml.tar.bz2];
ВнизВыпадающий список в DBGrid Найти похожие ветки
← →
ZiTrAX © (2006-11-03 00:26) [0]Как реализовать выпадающий список в ячейке DBGrid (или DBGridEh)? Есть вариант - поверх ячейки помещать ComboBox в момент получения фокуса, но это слишком трудоёмкий для меня процесс (нужно находить координаты ячейки, динамически создавать ComboBox и т.д.). Мне интересно, а как это реализовано в IBExpert?
← →
Германн © (2006-11-03 01:09) [1]Как в IBExpert не знаю, а для DBGrid есть PickList.
DBGrid.Columns.Items[].PickList
← →
unknown © (2006-11-03 01:20) [2]
> ZiTrAX © (03.11.06 00:26)
> Мне интересно, а как это реализовано в IBExpert?
В IBExpert используются компоненты DevExpress.
Как сделать в DBGridEh можно посмотреть в демке.
← →
Германн © (2006-11-03 01:45) [3]
> unknown © (03.11.06 01:20) [2]
>
>
> > ZiTrAX © (03.11.06 00:26)
> > Мне интересно, а как это реализовано в IBExpert?
>
> В IBExpert используются компоненты DevExpress.
А на чём собсс-но основывается данное утверждение?
← →
unknown © (2006-11-03 02:39) [4]
> Германн © (03.11.06 01:45) [3]
> А на чём собсс-но основывается данное утверждение?
Я знаком с компонентами DevExpress, по этому определил визуально :)
Можно, конечно и в ресурсах программы посмотреть:object Grid: TdxDBGrid
...
object gcFile: TdxDBGridButtonColumn
...
object gcSize: TdxDBGridSpinColumn
и т.д.
← →
Sergey13 © (2006-11-03 08:32) [5]> [0] ZiTrAX © (03.11.06 00:26)
Если список, который выпадает - данные из другой таблицы, то это можно сделать через лукап-поля.
← →
ZiTrAX © (2006-11-03 19:59) [6]
> Если список, который выпадает - данные из другой таблицы,
> то это можно сделать через лукап-поля.
Сорри за глупый вопрос, а можно поподробнее здесь?
← →
Desdechado © (2006-11-03 20:33) [7]Lookup Fields + F1
← →
Chort © (2006-11-03 20:58) [8]
> ZiTrAX © (03.11.06 19:59) [6]
>
> > Если список, который выпадает - данные из другой таблицы,
>
> > то это можно сделать через лукап-поля.
>
> Сорри за глупый вопрос, а можно поподробнее здесь?
"Библия программиста"-решение и подробное описание такой задачи.
← →
ZiTrAX © (2006-11-11 17:10) [9]"Библия программиста"- а где можно найти эту книгу в электронном варианте (желательно, чтоб весила не много).
А теперь вопрос по поводу DBGridEh: где там находятся эти LookUp-поля? И если не трудно, подскажите, где в исходнике DEMO1 находится обработчик выпадающего списка в DBGridEh1 на PageControl1 (колонка VendorName)? Или как его обрабатывать? Что там надо делать? Я уже весь исходник просмотрел, но не могу понять, как оно делается :-(((. Мож, кто в нете видел конкретный разобранный пример работы с этим компонентом.
Помогите, PLEASE!
← →
Desdechado © (2006-11-11 19:05) [10]Лукапные поля там же, где и остальные поля - в датасете, а не в гриде. Грид - это просто рамка для визуализации датасета.
Примеры лукапов можно найти здесь
"C:\Program Files\Borland\Delphi7\Demos\Db\"
И не забывать нажимать F1 на непонятных словах :)
← →
ZiTrAX © (2006-11-24 00:27) [11]Народ! Помогите с этими лукапными полями!!! Сижу, как баран, перед исходником и не могу понять, в каком месте задаётся этот выпадающий список в DBGridEh. В датасете я ничего не нашёл ( а мож, плохо искал). Ну подскажите, плиззззззззз, как с ними бороться. А то я крышей так двинусь:-(((
← →
Sergey13 © (2006-11-24 08:48) [12]> [11] ZiTrAX © (24.11.06 00:27)
Чукча не читатель, чукча писатель? Или кнопка Ф1 начисто отсутствует? Так за 3 недели !!! можно было и клавиатуру поменять.
← →
EIen © (2006-11-24 09:35) [13]Можно примерно так:
1. Дважды щелкнуть на DBGrid
2. Добавить колонку
3. Указать поле которое будет показываться (свойство FieldName)
4. Заполнить список (свойство PickList)
А можно в место заполнения списка подключить сразу таблицу?
Да можно, Вам нужно в компоненте данных сделать Lookup поле.
1. Дважды щелкнуть мышкой на допустим TTable появится редактор полей
2. В редакторе полей правой кнопкой и New Field
3. Появится диалог в нем тип поля Lookup, настоить остальные св-ва
(если надо подробнее про другие свойства пишите).
Если не затруднит, то от описания я бы не отказался
Итак, есть две таблицы, одна из них содержит ссылку (числовой 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)
Dataset --> откуда мы будем брать строки описания, т.е Table2
LookupKeys --> Ключевое поле Table2
ResultField --> наименование профессии из Table2
Жмем ОК
Теперь в DBGrid для Table1 данное поле будет содержать выпадающий список
с профессиями из Table2
← →
ZiTrAX © (2006-11-24 20:37) [14]to EIen: Большое спасибо за подробное объяснение. Теперь вроде разобрался.
to Sergey13: Что за долбаная привычка всех опускать??? Не знаешь ответа, не можешь ответить, не хочешь отвечать - так не отвечай вообще. Прочитал, мысленно выругался и оставил своё мнение при себе!!!
Страницы: 1 вся ветка
Форум: "Начинающим";
Текущий архив: 2006.12.10;
Скачать: [xml.tar.bz2];
Память: 0.49 MB
Время: 0.048 c