На этом шаге мы рассмотрим компонент TRxDBCalcEdit.
Компонент TRxDBCalcEdit (рис.1)- ориентированный на работу с базами данных компонент для редактирования чисел с возможностью импользования выпадающего калькулятора. Установленное значение свойства Value становится новым значением поля в БД, если значение свойства ReadOnly - False.
Рис.1. Компонент TRxDBCalcEdit
TRxDBCalcEdit является наследником TDBCalcEdit и имеет все те же свойства и методы, и дополнительно имеет свойства, необходимые для работы с полями базы данных.
Компонент TRxDBCalcEdit может быть применен к тем полям данных, которые позволяют чтение и присвоение значений через свойства AsFloat, AsInteger.
Рассмотрим некоторые свойства компонента:
Свойство | Описание |
---|---|
property AsFloat: Double; | Свойство служит для преобразования данных. Доступно на этапе выполнения приложения (runtime-only). Используется для чтения или установки данных в компонент класса TConverter в формате действительного числа, представляемого в языке Pascal типом Double. |
property AsInteger: Longint; | Свойство позволяет обратиться к значению Value, сохраненному в компоненте - редакторе для ввода чисел, как к целому числу. |
property FormatOnEditing: Boolean; | Свойство определяет, будет ли автоматически форматироваться значение в строке редактора непосредственно при редактировании. Формат ввода определяется переменными DecimalSeparator и ThousandSeparator из модуля SysUtils и свойством DecimalPlaces. |
property DecimalPlaces: Word; | Свойство определяет максимально допустимое число десятичных знаков при вводе и изменении данных в строке редактирования компонента. Используется, когда строка имеет фокус ввода. При отображении значения в несфокусированной строке редактирования свойство не используется - применяется маска, заданная свойством DisplayFormat. |
Аналогично компоненту TRxDBComboEdit, компонент TRxDBCalcEdit можно связать с таблицой и редактировать определенные поля.
Поместим на форму компоненты RxDBGrid1, Table2, DataSource2 – для связи базы данных и таблицы, RxDBCalcEdit1 (рис.2).
Рис.2. Форма с размещенными на ней компонентами
RxDBGrid1, Table2, DataSource2, RxDBCalcEdit1
Установим свойство DataSource компонента RxDBCalcEdit1 в значение DataSource2, DataField - в значение ‘Заработная плата’, тогда в строке редактирования компонента будет отображаться значение текущего поля. При изменении значения с помощью калькулятора или просто меняя значение в строке редактирования компонента RxDBCalcEdit1, значение в таблице будут меняться (рис.3(а-в)).
Рис.3а. В строке компонента RxDBCalcEdit1 отображается заработная плата первой строки таблицы
Рис.3б. Изменение заработной платы с помощью калькулятора
Рис.3в. Заработная плата в первой строке таблицы изменена
Текст этого примера можно взять здесь.
На следующем шаге мы рассмотрим компонент TRxDBComboEdit.