delphi — Как во втором DBGrid-е отобразить все записи, которые принадлежат выделенной строке в первом DBGrid-е?
Вопрос задан
Изменён 3 года 2 месяца назад
Просмотрен 116 раз
В БД есть две таблицы:
1 - менеджеры (ид, имя) 2 - клиенты (ид, ид_менеджера, имя)
Каждый клиент закреплен за одним и только одним менеджером.
На форме два `DBGrid, первый отвечает за таблицу менеджеров, второй — за таблицу клиентов.
Как во втором DBGrid-е отобразить все записи, которые принадлежат выделенной строке в первом DBGrid-е ?
DBGrid1
— Query1 — ‘select имя from менеджеры’
DBGrid2
— Query2 — ‘select имя from клиенты where ид_менеджера = :ид_менеджера’
Я понимаю, как это сделать в принципе, но не понимаю, как сделать это при помощи DBGrid-ов.
- delphi
- pascal
- freepascal
- lazarus
Можно через обработку события CellClick
у первого DBGrid
. Но это как-то некрасиво и требует пассов руками и ненужных, на мой вкус, действий.
Проще по-другому — через использование MasterSource
, он для таких вот авто-действий и разрабатывался:
У вас на форме уже есть компоненты:
TADOConnection
, TADOTable
— 2 экземпляра, TDBGrid
— 2 экземпляра, TDataSource
— 2 экземпляра
Считаем, что все связи прописаны для 2х наборов ADOTable1 - DataSource1 - DBGrid1
(менеджеры) и ADOTable2 - DataSource2 - DBGrid2
(клиенты), ADOConnection
к ним также привязан, а Active
у ADOTable1
установлен в true.
Теперь для ADOTable2
свойство MasterSource
устанавливаем в DataSource1 (вашу таблицу с менеджерами), а в свойстве MasterFields
указываем связующие поля. Теперь также устанавливаете
Active
у ADOTable2
в true, и всё должно заработать.
К сожалению, я далёк от компьютера с Delphi, показал бы с картинками 🙂
Зарегистрируйтесь или войдите
Регистрация через Google
Регистрация через Facebook
Регистрация через почту
Отправить без регистрации
Почта
Необходима, но никому не показывается
Отправить без регистрации
Необходима, но никому не показывается
Нажимая на кнопку «Отправить ответ», вы соглашаетесь с нашими пользовательским соглашением, политикой конфиденциальности и политикой о куки
|
Имя свойства |
Краткое описание |
Align |
Свойство Align определяет выравнивание компонента в рамках содержащего его родительского компонента. |
|
AllowDrag |
Свойство AllowDrag определяет возможность взять у компонента перетаскиваемый объект. Свойство унаследовано от IControl. |
|
AllowDrop |
Свойства AllowDrop определяет, будет ли возможность у компонента принять перетаскиваемый объект. Свойство унаследовано от IControl. |
|
Anchors |
Свойство Anchors определяет в процентном соотношении изменение размеров дочерних компонентов при изменении размеров родительского компонента. Свойство унаследовано от IControl. |
|
BorderStyle |
Свойство BorderStyle определяет стиль границы компонента DBGrid. |
|
ClientHeight |
Свойство ClientHeight определяет высоту клиентской области компонента. Свойство унаследовано от IControl. |
|
ClientWidth |
Свойство ClientWidth определяет ширины клиентской области компонента. Свойство унаследовано от IControl. |
|
Color |
Свойство Color определяет цвет фона компонента. Свойство унаследовано от IControl. |
|
Columns |
Свойство Соlumns возвращает коллекцию столбцов компонента DBGrid. Свойство унаследовано от IDBGrid. | |
ComponentCount |
Свойство ComponentCount возвращает количество дочерних компонентов, расположенных на родительском компоненте. |
|
Components |
Свойство Components возвращает дочерний компонент, индекс которого передается посредством входного параметра. Свойство унаследовано от IComponent. |
|
Cursor |
Свойство Cursor определяет вид курсора, отображаемого при наведении курсора мыши на компонент, во время выполнения формы. Свойство унаследовано от IControl. |
|
Data |
Свойство Data предназначено для хранения любых пользовательских данных. Свойство унаследовано от IComponent. |
|
DataSource |
Свойство DataSource связывает компонент DbGrid с набором данных, который содержит поле DataField. |
|
Enabled |
Свойство Enabled определяет доступность компонента для пользователя. Свойство унаследовано от IControl. |
|
EnableEdit |
Свойство EnableEdit определяет, разрешено ли редактирование данных таблицы. Свойство унаследовано от IDBGrid. |
|
FixedColor |
Свойств FixedColor определяет цвет фона заголовка столбца. Свойство унаследовано от IDBGrid. |
|
Focused |
Свойство Focused возвращает True, если фокус установлен на данном компоненте. Свойство унаследовано от IControl. |
|
Font |
Свойство Font определяет параметры шрифта, используемого при отображении текста в компоненте. |
|
Height |
Свойство Height определяет высоту компонента в пикселях. Свойство унаследовано от IControl. |
|
HelpContext |
Свойство HelpContext определяет уникальный индекс раздела контекстно-зависимой справки для данного компонента. Свойство унаследовано от IControl. |
|
Hint |
Свойство Hint определяет текст подсказки, появляющийся при задержке указателя мыши над компонентом. Свойство унаследовано от IControl. |
|
Left |
Свойство Left определяет координату левого края компонента в пикселях. Свойство унаследовано от IControl. |
|
MultiSelect |
Свойство MultiSelect определяет, будет ли присутствовать возможность множественной отметки строк. |
|
Name |
Свойство Name определяет наименование компонента. Свойство унаследовано от IComponent. |
|
Parent |
Свойство Parent определяет родительский компонент. Свойство унаследовано от IControl. |
|
ParentColor |
Свойство ParentColor определяет, будет ли для компонента заимствован цвет родительского компонента. Свойство унаследовано от IControl. |
|
ParentFont |
Свойство ParentFont определяет, будет ли для компонента использоваться шрифт родительского компонента. Свойство унаследовано от IControl. |
|
ParentShowHint |
Свойство ParentShowHint определяет признак отображения всплывающей подсказки. |
|
PopupMenu |
Свойство PopupMenu определяет контекстное меню, которое будет появляться при клике правой клавишей мыши на компоненте. Свойство унаследовано от IControl. |
|
ReadOnly |
Свойство ReadOnly определяет, будет ли у пользователя возможность изменять содержимое таблицы. Свойство унаследовано от IDBGrid. |
|
ResizeColumns |
Свойство ResizeColumns определяет возможно ли изменение размеров колонок. Свойство унаследовано от IDBGrid. |
|
Selection |
Свойство Selection возвращает коллекцию отмеченных строк компонента DBGrid. Свойство унаследовано от IDBGrid. |
|
ShowColumnHeaders |
Свойстово ShowColumnHeaders определяет, будут ли отображаться заголовки столбцов. Свойство унаследовано от IDBGrid. |
|
ShowHint |
Свойство ShowHint определяет, будет ли показываться всплывающая подсказка при задержке курсора мыши над компонентом. Свойство унаследовано от IControl. |
|
ShowHorzLines |
Свойство ShowHorzLines определяет, будут ли в таблице отображаться горизонтальные линии. Свойство унаследовано от IDBGrid. |
|
ShowRowHeaders |
Свойстово ShowRowHeaders определяет, будут ли отображаться заголовки строк. Свойство унаследовано от IDBGrid. |
|
ShowVertLines |
Свойство ShowVertLines определяет, будут ли в таблице отображаться вертикальные линии. |
|
TableColor |
Свойств TableColor определяет цвет фона таблицы. Свойство унаследовано от IDBGrid. |
|
TabOrder |
Свойство TabOrder определяет позицию компонента в последовательности табуляции. Свойство унаследовано от IControl. |
|
TabStop |
Свойство TabStop определяет признак необходимости компоненту получать фокус при нажатии кнопки «Tab». Свойство унаследовано от IControl. |
|
Tag |
Свойство Tag не используется компилятором. Пользователь может изменить значение свойства Tag и использовать его по своему усмотрению. Свойство унаследовано от IComponent. |
|
Text |
Свойство Text определяет строку, идентифицирующую компонент для пользователя. Свойство унаследовано от IControl. |
|
Top |
Свойство Top определяет координату верхнего края компонента в пикселях. Свойство унаследовано от IControl. |
|
Visible |
Свойство Visible определяет видимость компонента во время выполнения формы. Свойство унаследовано от IControl. |
|
Width |
Свойство Width определяет горизонтальный размер компонента в пикселях. Свойство унаследовано от IControl. |
|
|
Имя события |
Краткое описание |
OnBeginDrag |
Событие OnBeginDrag для компонента наступает, когда пользователь начинает перетаскивать объект от компонента. |
|
OnClick |
Событие OnClick наступает, если пользователь нажал и отпустил основную кнопку мыши, в момент когда указатель мыши находился на компоненте. Событие унаследовано от IControl. |
|
OnDblClick |
Событие OnDblClick наступает, если пользователь осуществил двойной щелчек основной кнопкой мыши на компоненте. Событие унаследовано от IControl. |
|
OnDragDrop |
Событие OnDragDrop для компонента наступает, когда пользователь отпускает над ним перетаскиваемый объект. Событие унаследовано от IControl. |
|
OnDragEnter |
Событие OnDragEnter наступает при завершении операции перетаскивания. |
|
OnDragLeave |
Событие OnDragLeave наступает, когда перетаскиваемый объект выходит за границы компонента. Событие унаследовано от IControl. |
|
OnDragOver |
Событие OnDragOver для компонента наступает, когда пользователь протаскивает над ним перетаскиваемый объект. Событие унаследовано от IControl. |
|
OnEnter |
Событие OnEnter наступает в момент получения фокуса компонентом. Событие унаследовано от IControl. |
|
OnExit |
Событие OnExit наступает в момент потери фокуса компонентом. Событие унаследовано от IControl. |
|
OnKeyDown |
Событие OnKeyDown наступает, если компонент находится в фокусе и производится нажатие клавиши на клавиатуре. |
|
OnKeyPress |
Событие OnKeyPress наступает, если компонент находится в фокусе, при нажатии пользователем символьной клавиши. Событие унаследовано от IControl. |
|
OnKeyUp |
Событие OnKeyUp наступает, если компонент находится в фокусе, при отпускании пользователем любой, ранее нажатой клавиши. Событие унаследовано от IControl. |
|
OnMouseDown |
Событие OnMouseDown наступает, если компонент находится в фокусе и на компоненте произведено нажатие любой из кнопок мыши. Событие унаследовано от IControl. |
|
OnMouseMove |
Событие OnMouseMove наступает при перемещении пользователем курсора мыши над компонентом. |
|
OnMouseUp |
Событие OnMouseUp наступает, если компонент находится в фокусе и на компоненте, была отпущена любая из ранее нажатых кнопок мыши. Событие унаследовано от IControl. |
|
OnMouseWheel |
Событие OnMouseWheel наступает, если компонент находится в фокусе при вращении колеса мыши. Событие унаследовано от IControl. |
Класс: dbGrid
Класс: dbGrid Свойства События Методы Указатель классовПозволяет пользователям просматривать и редактировать прокручиваемый список значений полей из нескольких столбцов из файла базы данных
Иерархия
cОбъект
—cUIObject
——DfBaseObject
———DfBaseWindow
————DfBaseUIWindow
—————DfBaseControl
——————DfBaseList
———————DfBaseForm
————————DfBaseEntry
—————————DfBaseEntryList
——————————EntryList
——————Широкий список_
————————————Широкий список
—————————————DataList_
——————————————Список данных
————————————————————dbGrid_
————————————————dbGridDS
————————————————— -dbGridDD
————————————————— —- dbGrid
Пакет: Dftable. pkg
Описание
Этот класс устарел. Он был заменен классом cDbCJGrid.
Начиная с версии 16.0, DataFlex включает полную поддержку пакета COM Report Control от Codejock Software для создания сеток. Дополнительную информацию см. в разделе Использование сеток.
dbGrid позволяет пользователям просматривать и редактировать прокручиваемый многоколоночный список значений столбцов из таблицы базы данных. Класс dbGrid поддерживает комбинированные формы, флажки, вращающиеся формы и кнопки подсказок в отдельных столбцах или ячейках.
Образец
Объект OrderDtl_Grid является dbGrid Установите для Main_File значение Orderdtl.File_Number. Установите для сервера значение Orderdtl_DD Установить порядок на 1 Установите для Wrap_State значение True Установите Размер на 63 377 Установите местоположение на 90 3 Begin_Row Entry_Item Invt.Item_id Entry_Item Invt.Description Entry_Item Invt.Unit_price Entry_Item Orderdtl.Price Entry_Item Orderdtl.Qty_ordered Entry_Item Orderdtl.Extended_price End_Row Установите Form_Width от 0 до 55 Установите для Header_Label 0 значение «Идентификатор элемента». Установите Form_Width от 1 до 116 Установите для Header_Label 1 значение «Описание». Установите Form_Width 2 на 55 Установите для Header_Label 2 значение «Цена за единицу». Установите Form_Width от 3 до 43 Установите для Header_Label 3 значение «Цена». Установите Form_Width от 4 до 43 Установите для Header_Label 4 значение "Кол-во" Установите Form_Width от 5 до 55 Установите для Header_Label 5 значение «Всего» Установите для Child_Table_State значение True // Сохраняет при выходе из объекта End_Object // OrderDtl_Grid
Синтаксис
Использовать dftable
Объект oObjectName является dbGrid Установить размер на ширину высоты Установить местоположение для столбца строки Установите для Main_File значение FileName.File_Number. Установить порядок на индекс # Установите для сервера значение DDOName. Установите для Child_Table_State значение true|false Установите для Wrap_State значение true|false Установите для параметра Allow_Bottom_Add_State значение true|false. Установите для параметра Allow_Top_Add_State значение true|false. Установите для параметра Allow_Insert_State значение true|false. Установите для параметра No_Create_State значение true|false. Установите для параметра No_Delete_State значение true|false. Установите для Read_Only_State значение true|false Установите для Auto_Regenerate_State значение true|false. : Begin_Row entry_item {таблица.поле | выражение} : End_Row : Установите Highlight_Row_State в true|false Установите для Gridline_Mode значение GridVisibleMode. Установите для Header_Visible_State значение true|false Установите для параметра Resize_Column_State значение true|false.
Установите для CurrentCellColor значение RGBColor. Установите CurrentCellTextColor в RGBColor Установите для CurrentRowColor значение RGBColor. Установите для CurrentRowTextColor значение RGBColor. Установите Highlight_Row_State в true|false Установите для Gridline_Mode значение GridVisibleMode. Установите столбец Form_width # в ColumnWidth Установите для столбца Header_Label # значение HeaderLabel Установите столбец Header_Justification_Mode в режим Mode // Они устанавливаются, когда нет словаря данных Установите столбец Status_Help # в StatusHelpText Установите столбец Form_DataType для ввода типа Установите столбец Form_Mask # в маску Установите для столбца Numeric_Mask значение leftDigits rightDigits {шаблон} Задайте для столбца Currency_Mask значение leftDigits rightDigits {шаблон} Конечный_Объект
Особое примечание
dbGrid отображает несколько записей из основного файла и любых предков (родительских) файлов и позволяет пользователям редактировать их по одной. В любой момент строка сетки, на которой находится курсор, считается текущей строкой, а запись в основном файле, данные которой отображаются в нем, текущей записью. Таким образом, dbGrid появляется для редактирования и отображения так же, как dbForm.
DbGrids всегда следует размещать внутри объекта dbView или контейнера с поддержкой данных (dbContainer3d, dbGroup, dbTabPage, dbTabView). DataDictionary, используемый объектом, должен находиться над сеткой ввода и внутри контейнера представления ввода.
Объект ввода данных
dbGrid — это многоэлементный объект ввода данных (DEO). DEO — это объект, чьи собственные возможности (в данном случае сетка) дополнены поведением с учетом данных. Эти действия включают:
- Поиск, очистку, сохранение и удаление записей (и наборов записей)
- Подсказка и поддержка масштабирования объекта
- Проверка изменений (проверки сохранения, удаления и потери данных)
- Объект и вход, выход и проверка элемента
- Поддержка сервера: DEO подключаются к структурам сервера данных
Настройка входных параметров для столбцов
Предыдущие версии DataFlex позволяли устанавливать параметры столбцов путем помещения специальных параметров в командную строку entry_item. Эти параметры будут помещены во французские фигурные скобки (entry_item file.field {capslock, iPrompt =(myObj(Self)), iEntry =msg_MyMessage}). Словари данных практически избавляют от необходимости в этих настройках. Обычно эти настройки могут и должны быть помещены в подклассы вашего словаря данных. Кроме того, Studio не поддерживает использование этих параметров командной строки.
В тех редких случаях, когда вам нужно установить любой из этих параметров для столбцов в вашем объекте ввода данных, предоставляется полный интерфейс для получения и установки любого из них. Классы ввода данных с одним элементом используют один набор сообщений для установки этих параметров, в то время как классы ввода данных на основе строк (например, этот класс) предоставляют параллельный набор сообщений для установки этих параметров по столбцам. Эти сообщения задокументированы в классе datalist. Ниже приводится сводка всех этих сообщений. Этот список показывает сообщение на основе одного элемента, его эквивалентное сообщение на основе строки и параметр entry_item, который он заменяет. Каждое из этих сообщений поддерживает синтаксис get и set.
Сообщения на основе форм, основанные на форме, DBCOMBOFORM | Сообщения на основе столбцов DBGRID, DBLIST | OLD ENTRY_ITEM {OPTION} (больше не использовался) |
---|---|---|
ITEM_OPTIONS} (не используется) | ||
inection_options} (больше не использовался) | ||
. NoEnter, NoPut, DisplayOnly, AutoFind и т. д. | ||
Item_Option | Column_Option | (аналогично предыдущему) |
0104 | ||
Enabled_State (formerly object_shadow_state) | Column_Shadow_State | DisplayOnly |
Capslock_State | Column_Capslock_State | Capslock |
Prompt_Object | Column_Prompt_Object | iPrompt= |
Zoom_Object | Column_Zoom_Object | iZoom= |
Item_Entry_msg | Column_Entry_msg | iEntry= |
Item_Exit_msg | Column_Exit_msg | iExit= |
Item_Validate_msg | Column_Validate_msg | iValidate= |
Использование словарей данных
Если сервер этого объекта является словарем данных, этот объект получит от сервера большое количество «знаний». Он будет «знать» типы данных, маски ввода, объекты справки о состоянии и подсказки, правила проверки, правила входа, правила выхода, форматы отображения (capslock и т. д., noput, только отображение и т. д.) и многое другое, касающееся файла данных и его поля. Если вы используете наборы данных, всеми этими настройками можно управлять, задавая свойства. Хотя это возможно, это требует гораздо больше работы и значительно увеличивает вероятность ошибок и несоответствий.
Навигация с помощью клавиш со стрелками
По умолчанию для навигации по раскрывающемуся списку используются клавиши со стрелками вверх и вниз. Это можно изменить для навигации между строками в сетке, установив для свойства pbComboNavigation значение False.
Маскирование
Этот класс поддерживает маскирование ввода и отображения для различных типов данных (текстовых, числовых, валютных и дат). При использовании словарей данных маска и тип маски элементов объекта обычно определяются в подклассе словаря данных файла данных. Единственный раз, когда вам нужно иметь дело с масками, это когда вы создаете маски для элементов, не основанных на словаре данных (выражений и переменных).
При установке масок вручную тип используемой маскировки определяется столбцом form_datatype объекта (который поддерживает как маскированные, так и немаскированные типы) и столбцом объекта form_mask. Два дополнительных сообщения, currency_mask и numeric_mask, упрощают определение валютных и числовых типов данных и полей с помощью одного сообщения.
Сохранение и удаление строки
Каждый раз, когда пользователь выходит за пределы линии сетки, любые сделанные изменения должны быть сохранены или удалены. Auto_save_state dbGrid по умолчанию имеет значение true Каждый раз, когда пользователь пытается покинуть строку, в которой он сделал изменение, выполняется сохранение. Таблицы обычно наиболее интуитивно понятны, когда сохранение происходит автоматически.
Для verify_save_msg задано значение get_no_confirmation. Это отключает проверочное сообщение при каждом сохранении записи. При желании вы можете установить для этого свойства значение get_line_save_confirmation, что приведет к появлению подтверждения сохранения строки каждый раз, когда запись собирается быть сохраненной. Verify_delete_msg был изменен на get_line_delete_confirmation, что вызывает появление подтверждения удаления строки перед удалением.
Заголовки подсказок
Этот класс автоматически поддерживает метки кнопок подсказок. Если для этого объекта определен объект подсказки, его заголовок становится «кнопкой подсказки с поддержкой». При щелчке заголовка любого столбца будет отправлено сообщение с подсказкой и появится объект подсказки (обычно список выбора). Объекты приглашения обычно получаются из объекта словаря данных, но могут быть указаны в этом объекте путем установки свойства prompt_object. Когда заголовок поддерживает кнопку подсказки, символы >> добавляются справа от метки заголовка, чтобы указать, что подсказка доступна.
Если вы не хотите автоматически создавать кнопки подсказок, вы можете отключить эту функцию, установив для свойства prompt_button_mode значение PB_PromptOff .
Сервер
Все объекты dbGrid всегда должны быть подключены к серверу (объекту словаря данных). При использовании в качестве дочерней таблицы (например, таблицы сведений о записях заказов) вполне вероятно, что свойство сервера будет задано явно в объекте dbGrid. Если он не установлен в объекте, он должен быть установлен в родительском (или другом родительском) объекте-контейнере.
Основной файл, DDO сервера и индекс
Для этого объекта необходимо указать основной файл либо с помощью явного объявления main_file, либо с помощью main_file DDOname через свойство сервера. Точно так же индекс должен быть назван, если он не указан в DDOname. Список выбора может использовать другой main_file и индекс, отличный от названного DDO, но индекс должен быть одним из индексов main_file. Если индекс не указан ни на одном уровне, записи перечислены в порядке recnum.
Потомок суперкласса Grid
Класс dbGrid является потомком класса grid. Существует множество сообщений, поддерживающих метки заголовков, ширину формы, линии сетки и т. д. Полное описание этих свойств см. в классе Grid.
Большинство настроек свойств столбца по умолчанию будут выполняться по желанию. Обычно вам нужно будет только установить свойства form_width и header_label.
Цвет элемента и строки и линии сетки
Цвет текущей строки и текущего элемента задается параметрами CurrentCellColor и CurrentRowColor. Это цвета rgb. По умолчанию эти значения устанавливаются путем чтения ключей из реестра. Это позволяет настраивать цвета без перекомпиляции. Цвета должны быть установлены в реестре, поскольку для выделенных строк и ячеек нет стандартного цвета Windows по умолчанию.
Сообщение ItemColor позволяет управлять цветом фона любой ячейки или ячеек в сетке. При использовании внутри процедуры entry_display это сообщение можно использовать для окрашивания элементов в соответствии со значением поля. Сообщение entry_display вызывается каждый раз, когда строка обновляется информацией из базы данных. Используя значение в текущем буфере записи, оператор set ItemColor, оператор get base_item (для определения первой ячейки в текущей строке) и оператор get item_limit (для определения количества ячеек в строке), вы можете управлять цветами строк и ячеек.
Цвет фона элемента определяется тремя состояниями. Элемент может быть текущим элементом, элементом может быть элемент в текущей строке или элемент может быть элементом не текущей строки. Приоритет назначения цвета следующий:
1. CurrentCellColor имеет приоритет над всеми другими цветами.
2. CurrentRowColor, если он используется (highlight_row_state имеет значение true), переопределяет нетекущий цвет строки.
3. Нетекущая строка использует ItemColor.
Если вы хотите использовать ItemColor для создания пользовательских цветов строк, вы, вероятно, захотите установить для свойства highlight_row_state значение false.
В следующем примере, который можно добавить к dbGrid или dbList, показано, как можно использовать ItemColor для установки пользовательского цвета для строки и ячейки.
// Изменяет цвет всех элементов в текущей строке на цвет RGB 'iColor' // Это должно быть отправлено из Entry_Display, как показано ниже... Процедура Change_Row_Color Integer iColor Integer iBase iItem iItems Получить Base_Item в iBase // первый элемент текущей строки Получить Item_Limit для iItems // элементов в строке Переместить (iBase+iItems-1) в iItems // последний элемент в текущей строке Для iItem из iBase в iItems // установить цвет для всех элементов в строке Установите ItemColor iItem на iColor Петля End_Procedure // Change_Row_Color // Дополнено, чтобы выделить строку и, возможно, ячейку // с определенным цветом в зависимости от значений его файлового буфера Процедура Entry_Display Integer iFile Integer iType целочисленный iColor iItem // устанавливаем цвет текущей строки на основе значения расширенной цены Если (OrderDtl.Extended_Price < 0); Переместить clRed в iColor Еще ; Если (OrderDtl.Extended_Price = 0); Переместить clYellow в iColor Еще ; Переместите clTeal в iColor Отправить Change_Row_Color iColor // Установить одну ячейку (столбец 5) на основе содержимого qty_ordered Если OrderDtl.Qty_Ordered ge 10 Начало Получить Base_Item в iItem // первый элемент текущей строки Установите для ItemColor (iItem+4) значение clPurple // Пятый столбец Конец Переслать Отправить Entry_Display iFile iType End_Procedure // Entry_Display
Параметр gridline_mode, который указывает, должны ли отображаться в списке горизонтальные и вертикальные линии, также можно задать с помощью параметра реестра. Если вы задали ключ TableGrid в реестре, вы должны использовать значения от 0 до 3 (0=Grid_Visible_none, 1=Grid_Visible_Horz, 2=Grid_Visible_Vert, 3=Grid_Visible_Both).
Дополнительные сведения об этих свойствах см. в классе Grid.
Целью поддержки уникальных настроек цветов в dbGrids и dbList (у которых есть собственные значения ключей реестра) является предоставление механизма для различения списков выбора (dbLists) и таблиц ввода (dbGrids). DbGrid использует стандартную сетку и цвет, предоставляемые классом сетки.
Создание столбцов флажков в dbGrids
Любой столбец в dbGrid можно представить в виде флажка, установив для свойства столбца column_checkbox_state значение true. Если поле этого столбца определено как поле флажка в его словаре данных, столбец будет отображать истинные и ложные значения поля (которые определены в словаре данных) в формате флажка.
В следующем примере предполагается, что столбец 3 в dbGrid представляет поле данных Customer.Active. В словаре данных это поле определяется как поле флажка с истинным значением T и ложным значением F. Если это поле представлено в обычном формате без флажка, столбец 3 будет отображаться как столбец Ts и Фс. Пользователи могут редактировать эти значения, изменив их значение на T или F. Все другие значения приведут к ошибке проверки. Этот столбец можно преобразовать в столбец флажка с помощью следующего кода.
Установите для Column_CheckBox_State 3 значение True
При такой установке все значения данных T будут отображаться как отмеченные элементы, а все значения данных F будут отображаться как неотмеченные элементы. Если пользователь изменил проверенное состояние ячейки, базовое значение данных также будет соответствующим образом изменено на T или F. add_or_remove_row
Компоненты BergSoft Delphi и .

NextDBGrid — это мощная сетка данных Delphi/C++ Builder, основанная на нашем популярном компоненте NextGrid. Почти все замечательные функции NextGrid доступны в NextDBGrid, дополненном поддержкой баз данных. Если вы знаете, как работать с NextGrid, вы будете знать, как работать и с NextDBGrid.
- Простота подключения Столбцы с полями набора данных
- 18 различных типов столбцов, а в будущем планируется добавить больше.
- Мощный компонент DBGrid, написанный с нуля
При использовании следующего пакета моя программа сразу же превратилась из типичного приложения Windows в перспективное приложение с современным дизайном. Это было похоже на чудо, простая замена моих существующих компонентов на следующие, и пользовательский интерфейс переместился в новый век. Я очень рекомендую это! — www.aperitto.com
Поля Memo
Содержимое поля Memo Blob можно полностью отобразить, просто установив для свойства ExpandContent
значение True
. Теперь вместо строки (MEMO) ячейка будет отображать полное содержимое поля.Буферный и небуферизованный режим
NextDBGrid может работать в 2 режимах данных, указанных в свойстве BufferRecords
.