с реляционными базами данных 10 глава

Флаг DBCheckBox можно использовать также для отображения и редактирова­ния строковых полей, если пользоваться качествами ValueChecked и ValueUnChecked.

Свойство ValueChecked типа string содержит строковые значения, которые устанавливают связанный с этим полем флаг во включенное состояние. От­дельные значения делятся точкой с запятой. В качестве значений допуска­ются любые алфавитно с реляционными базами данных 10 глава-цифровые знаки, в том числе российские буковкы. Регистр алфавитных знаков не различается, т. е. значения ну и да числятся одина­ковыми. К примеру: DBCheckBoxl.ValueChecked := 'True;T;Yes;Y;Да;Д';

Свойство ValueUnChecked типа string содержит строковые значения, которые устанавливают связанный с этим полем флаг в выключенное состояние. Зна­чения задаются таким с реляционными базами данных 10 глава же образом, как и для характеристики ValueChecked: DBCheckBoxl.ValueUnChecked := 'False;F;No;N;Нет;Н';

Если поле не содержит ни 1-го из значений, обозначенных в свойствах ValueChecked и ValueUnChecked, то флаг устанавливается в неопределенное состояние.

Отметим, что невзирая на наличие приведенных параметров, способности флага DBCheckBox по редактированию строковых полей с реляционными базами данных 10 глава намного меньше, чем у элемента DBEdit.


136


Часть II. Технологии доступа к данным


Отображение и выбор значения поля

В ряде всевозможных случаев появляется необходимость ввода либо отображения в поле 1-го из значений, входящих в состав фиксированного набора. С этой целью комфортно использовать компонент DBRadioGroup (рис. 6.1), представляющий из себя груп с реляционными базами данных 10 глава­пу зависимых тумблеров, из которых в каждый момент времени может быть включен (избран) только один. Зависимые тумблеры также именуют просто тумблерами; в форме они показываются в виде кружка с текстовой надписью.

Рис. 6.1. Внедрение тумблеров

Отметим, что избрать для поля одно из значений можно также при помощи спи­сков, которые представляют с реляционными базами данных 10 глава для этих целей более широкие способности.

Управление числом и наименованиями тумблеров делается при помощи свой­ства items типа TStrings, позволяющего получить доступ к отдельным пере­ключателям в группе. Это свойство содержит строчки, отображаемые как заго­ловки тумблеров. Отсчет строк в массиве начинается с нуля: items [0], items [1] и т. д с реляционными базами данных 10 глава. Обычно задание значений этого характеристики производится при раз­работке приложения при помощи Редактора строк. При выполнении приложения для манипуляции со строчками (заголовками) можно использовать такие способы, как Add и Delete.

Свойство Values типа TStrings содержит перечень значений поля, на которые должны реагировать тумблеры группы. Управление этим перечнем осущест­вляется с реляционными базами данных 10 глава аналогично управлению перечнем items. Если вероятные значения характеристики Values не заданы, то они выбираются из значений характеристики items, т. е. в данном случае значение, соответственное тумблеру, совпадает с на­званием этого тумблера.


Глава 6. Зрительные составляющие для работы с данными


137


Группа тумблеров работает последующим образом. Тумблер врубается при переходе к очередной записи, если с реляционными базами данных 10 глава значение связанного с ним поля содер­жит одно из значений, присутствующих в перечне Values. Если же поле содер­жит значение, отсутствующее в перечне вероятных, то ни один тумблер не выбирается. Изменение значения поля происходит при выборе другого пере­ключателя группы.

(Замечание^

Для поля, с которым связана группа тумблеров с реляционными базами данных 10 глава, юзер может избрать значение только из перечня. Пробы ввести в поле случайное значение, напри­мер при помощи компонента DBGrid, блокируются.

В примере, приведенном на рис. 6.1, группа тумблеров имеет заголовок Условия реализациии связана с полем Note набора данных. При перемещении на шестую запись в группе автоматом выбирается 3-ий тумблер, имеющий заглавие с реляционными базами данных 10 глава (и такое же значение) Оптом и в розницу.Если избрать дру­гой тумблер, к примеру 1-ый, то в поле Note 6-ой записи автомати­чески занесется новое значение — Оптом.

СЗамечание ^

Новое значение поля будет зафиксировано в наборе данных и отображено другими зрительными компонентами (DBGrid и схожими) после утраты фокуса группой тумблеров с реляционными базами данных 10 глава, к примеру, в связи с переходом к другой записи.

Доступ к отдельному тумблеру можно получить через свойство itemindex типа integer, содержащее позицию (номер) тумблера, избранного в группе в текущий момент. Это свойство употребляется для выбора отдельного тумблера либо для определения, какой из тумблеров является вы­бранным. Если свойство itemindex с реляционными базами данных 10 глава имеет значение -1, то не избран ни один из тумблеров.

СЗамечание ^

При программном выборе тумблера нужно переводить набор данных в режим редактирования, а после установки нового значения поля закреплять сделан­ные конфигурации, к примеру, вызовом способа Post.

Вот вам наглядный пример, иллюстрирующий выбор тумблера на программном уровне:

procedure с реляционными базами данных 10 глава TForml.ButtonlClick(Sender: TObject);

begin

Tablel.Edit;

DBRadioGroupl.Itemindex := 1;

Tablel.Post;

end;


138


Часть II. Технологии доступа к данным


В приведенной процедуре при нажатии кнопки Buttonl в группе DBRadioGroupl выбирается 2-ой тумблер. За ранее набор дан­ных переводится в режим редактирования, а после переключения и смены зна­чения поля изготовленные конфигурации сохраняются.

Отображение с реляционными базами данных 10 глава и выбор значения поля в перечне

Чтоб показать поле текущей записи и избрать этому полю новое значение,

служат СПИСКИ — Составляющие DBListBox, DBComboBox, DBLookupComboBox И

DBLookupListBox. По собственной функциональности списки напоминают группу тумблеров DBRadioGroup, но предоставляют огромные способности. Перечень DBComboBox также обеспечивает возможность ввода в поле случайного значения.

Обычной и комбинированный списки

Составляющие DBListBox с реляционными базами данных 10 глава и DBComboBox позволяют юзеру выбирать один из строковых частей. При выборе подходящей строчки обычного перечня DBListBox находящееся в ней значение автоматом заносится в поле, с ко­торым связан этот перечень. В дополнение к этому комбинированный перечень DBComboBox позволяет вводить случайное значение.


Замечание


J



Рис. 6.2. Внедрение обычного перечня

Новое значение не с реляционными базами данных 10 глава фиксируется в поле и, соответственно, не отображается в других зрительных компонентах, связанных с тем же набором данных. На рис. 6.2 в перечне для поля unit выбрано новое значение Упаковка, но в сетке DBGrid это не отображается. Закрепление в поле нового значения, также отображение этого значения в других зрительных компонентах, связанных с реляционными базами данных 10 глава с данным полем, произойдет при переходе к другой записи.


Глава 6. Зрительные составляющие для работы с данными


139


Списки, сформированные


s-zakritij-massazh-serdca.html
s-zaranee-dannimi-obstoyatelstvami-udobnee-i-legche.html
s-zavershennoj-predmetnostyu.html