Как поместить раскрывающийся список выбора в DBgrid
Зарко Гайич имеет опыт работы с SQL и практические знания систем баз данных, таких как MS SQL Server, Firebird, Interbase и Oracle. Он также владеет XML, DHTML и JavaScript.
Вот как разместить раскрывающийся список выбора в DBGrid. Создавайте визуально более привлекательные пользовательские интерфейсы для редактирования полей поиска внутри DBGrid, используя свойство PickList столбца DBGrid.
Теперь, когда вы знаете, что такое поля поиска и каковы варианты отображения поля поиска в DBGrid Delphi, пришло время посмотреть, как использовать свойство PickList столбца DGBrid, чтобы пользователь мог выбрать значение для поля поиска. из раскрывающегося списка.
Краткая информация о свойстве столбцов DBGrid
Элемент управления DBGrid имеет свойство Columns — набор объектов TColumn, представляющих все столбцы в элементе управления сеткой. Столбцы можно задать во время разработки с помощью редактора столбцов или программно во время выполнения. Обычно вы добавляете столбцы в DBGird, когда хотите определить, как будет выглядеть столбец, как будут отображаться данные в столбце, а также для доступа к свойствам, событиям и методам TDBGridColumns во время выполнения. Настраиваемая сетка позволяет настроить несколько столбцов для представления разных представлений одного и того же набора данных (например, разный порядок столбцов, разные варианты полей, разные цвета и шрифты столбцов).
Теперь каждый столбец в сетке «связан» с полем из набора данных, отображаемого в сетке. Более того, каждый столбец имеет свойство PickList. В свойстве PickList перечислены значения, которые пользователь может выбрать для значения связанного поля столбца.
Заполнение списка выбора
Здесь вы узнаете, как заполнить этот список строк значениями из другого набора данных во время выполнения.
Напомним, что мы редактируем таблицу «Статьи» и что поле «Тема» может принимать значения только из таблицы «Темы»: идеальная ситуация для списка выбора!
Вот как настроить свойство PickList. Во-первых, мы добавляем вызов процедуры SetupGridPickList в обработчик события OnCreate формы.
Самый простой способ создать процедуру SetupGridPickList — перейти в приватную часть объявления формы, добавить туда объявление и нажать комбинацию клавиш CTRL + SHIFT + C — все остальное сделает автодополнение кода Delphi:
Примечание: процедура SetupGridPickList принимает два параметра. Первый параметр, FieldName, — это имя поля, которое мы хотим использовать как поле поиска; второй параметр, SQL, — это выражение SQL, которое мы используем для заполнения PickList возможными значениями — в общем, выражение SQL должно возвращать набор данных только с одним полем.
Вот как выглядит SetupGridPickList:
Вот и все. Теперь, когда вы нажимаете столбец «Тема» (чтобы войти в режим редактирования).
Примечание 1: по умолчанию в раскрывающемся списке отображаются 7 значений. Вы можете изменить длину этого списка, установив свойство DropDownRows.
Примечание 2: ничто не мешает вам заполнить PickList из списка значений, не поступающих из таблицы базы данных. Если, например, у вас есть поле, которое принимает только названия дней недели («понедельник», «воскресенье»), вы можете создать «жестко запрограммированный» список выбора.
«Мм, мне нужно щелкнуть по списку выбора 4 раза».
Обратите внимание: если вы хотите отредактировать поле, отображающее раскрывающийся список, вам нужно будет щелкнуть ячейку 4 раза, чтобы выбрать значение из списка. Следующий фрагмент кода, добавленный в обработчик событий OnCellClick DBGrid, имитирует нажатие клавиши F2, за которой следует Alt + стрелка вниз.