Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Плещёв ИП 2010-04-04 doc.doc
Скачиваний:
108
Добавлен:
13.05.2015
Размер:
5.96 Mб
Скачать

9.4.2. Объекты управления, связанные с базой данных

После размещения на форме объекта Data можно размещать остальные объекты. У всех объектов нужно задать значение свойству DataSource,равное значению свойстваNameсоответствующего объекта Data; обычно это значение выбирается из списка всех объектов Data.

Для базовых объектов (это объекты, которые непосредственно связа­ны с единственным полем в наборе записей и не требуют дополнительной установки, кроме определения имени поля) нужно указать имя связываемого поля в значении свойства DataField; обычно имя выбирается из списка доступных полей.

Перечислим базовые объекты и в скобках укажем имена свойств, которые содержат значение поля базы: PictureBox (Picture), Label (Caption), TextBox (Text), CheckBox (Text), Image (Picture), MaskedEdit (Text), 3D CheckBox (Value), 3D Panel (Caption), ListBox (Text), ComboBox (Text).

Кроме базовых объектов имеются специальные объекты:

ToggleButton(командная кнопка ‑ компонент MicrosoftForms2.0ObjectLibrary) аналогичнаCommandButton(п. 6.2), но сохраняет по­вы­шенную яр­кость после ее нажатия. Повышенная яркость отменяется при повторном нажатии кнопки.

DBList (связанный список ‑ компонент Microsoft Dat Bound List Controls 6.0).

DBCombo (связанное комбинированное окно ‑ компонент Microsoft Data Bound GRID Control 6.0).

Для объектов DBCombo и DBList нужно задать значения пяти свойствам:

RowSource‑ имя объекта Data, содержащего информацию для формиро­ва­ния списка значений, например справочник заказчиков;

BoundColumn‑ имя поля, копируемого в основную таблицу, например по­ле с кодом заказчика из справочника заказчиков;

ListField - имя поля, отображаемого в списке, например поле с наимено­ванием заказчика в справочнике заказчиков;

DataSource - имя объекта, содержащего набор записей целевой инфор­мации, например таблица учета строек;

DataField - имя целевого поля (поле с кодом заказчика в таблице строек.

Объекты Data в свойствах RowSource и DataSource могут быть одинаковыми, поля в свойствах BoundColumn и DataField должны быть однотипными, поля в свойствах ListField и BoundColumn могут совпадать.

DBGrid. (связанная сетка данных ‑ компонент Microsoft Data Bound Grid Control 6.0). Для объектаDBGridобычно задаются следующие свойства:Data­Source (имя объекта, содержащего набор записей),AllowAddNew, Allow­Up­da­te, AllowDelete (возможность добавления, обнов­ле­ния и удаления запи­сей соответственно),RecordSelectors(маркера выде­ле­ния строк),Column­He­ad­ers(заголовки колонок таблицы),ScrollBars(линей­ки прокрутки).

Объект DBGridявляется контейнером, который содержит объекты типа колонокColumns, SelBookmarks, Split. Свойства таких объектов уточ­ня­ются дополнительно именем контейнера. Например, чтобы вернуть зна­че­­ние из текущей записи, во второй колонке указывается Dbgrid1.Co­lumns(2).Text. Вместо номера колонки можно указать в кавыч­ках имя поля.

Для оформления столбцов выполните из контекстного меню коман­ду Retrieve Fields, а затем -Properties. На страницеColumnsукажите на­име­нования колонок в полеCaption. Установку размеров колонок можно выполнить после командыEditконтесктного меню.

Сетку можно разделить на несколько разделов, выполнив команду Split(разделители) из контекстного меню. Откройте страницуSplitsи выберите нужный раздел из поля со спискомSplit. Далее укажите нужные свойства для этого раздела:SizeMode=2 (размер раздела измеряется в числе колонок),Size(число колонок в разделе),ScrollBars(линейки прокрутки). Если нужно, чтобы в разных разделах были различные поля, например, в первом ‑ столбцы 0, 1, а во втором ‑2, 3, то следует написать для правого раздела Split1 код:

Dim sp As Split ‘объявления указателя на объект Split

Set sp=Dbgrid1.Split(1) ‘открытие объекта Split1

Sp.LeftCol=2 ‘номер левой колонки для правого раздела

Для создания и удаления разделов используются методы AddиRemoveдля объектов Splits.

Аналогично можно управлять и колонками, например:

Private Sub cmdHide_Click() ‘процедура обработки кнопки “Скрыть”

Dim c As Column

Setc=Dbgrid1.Columns(1) ‘открытие объектаColumns(1)

c.Visible=Not c.Visible ‘свойство видимости изменяется на противоположное

End Sub

Свойство Bookmarkпозволяет устанавливать закладки, например:

Private label As String ‘объявление переменной с именем закладки

Private Sub setBookmark_Click() ‘процедура кнопки установки закладки

Label=Dbgride1.Bookmark ‘запоминание метки текущей записи

End Sub

Private Sub GoLabel_Click() ‘процедура кнопки возврата к закладке

Dbgride1.Bookmark =Label ‘возврат к помеченной записи

End Sub

Объект SelBookmarks содержит закладки визуально выделенных строк сетки. Код для добавления закладки имеет вид, например:

DBGrid1.SelBookmarks.Add DBGride1.Bookmark

После установки закладки строка сетки выделяется цветом.

Помимо объекта DBGrid имеется еще ряд новых объектов:

DataGrid(компонент Microsoft DataGrid Control 6.0) аналогичен DBGrid, но компактнее.

Datalist (компонент Microsoft DataList Control 6.0) заменяет DBList.

DataCombo (компонент Microsoft List Control 6.0) заменяет DBCombo.

MSFlexGrid (компонент Microsoft FlexGrid Control 6.0) или VideoSoft VSFlexGrid Pro 6.0 обеспечивает аналитическую обработку и отображает данные в виде сетки.

True DBGrid Proпоставляется отдельно и расширяет возможности DBGrid: растровые изображения в клетках сетки, форматирование клеток, подсказки для клеток.

Hierarchical FlexGrid(Microsoft Hierarchical FlexGrid Control 6.0) обеспечивает группировку данных в компактную форму, сворачивая (кнопка “-“) или разворачивая (“+”) списки строк.

Комплект объектов Sheridan DataWidgets(SheridanDataGrid/ Combo/ DropDown 3.1 (OLEDB) и Sheridan dbData/ dbOptSet/ dbCmd 3.1 (OLEDB)) содержит шесть объектов:SSDBGid(сетка),SSDataCombo(поле со списком из других наборов записей),SSDBDropDown(список выбора для редактирования),SSDataOptSet(набор переключателей, связ­ан­ных с полем базы данных через свойство DataSource),SSDBData(для дополнения объекта Data: горизонтальное и вертикальное отображение ли­ней­ки, перемещение по закладкам, быстрый просморт записей, поиск за­пи-си),SSDBComand(размещение кнопок аналогично CommandButton для перемещения по базе, создания или удаления записей без написания кода через свойство DatabaseAction). Комплект находится в файлах:SSDW3A32.OCX,SSDW3AO.OCX,SSDW3B32.OCX,SSDW3BO.OCX,