назад | содержание | вперед

Связывание с объектом-источником

Наш компонент уже почти готов. Осталось добавить для него возможность связываться с объектом-источником. Для этого необходимо создать свойство компонента ownSlider, которое будет определять параметры связи с базой данных. Для этого в меню Tools (Сервис) выберите команду Procedure Attributes (Атрибуты процедуры). Откроется диалоговое окно Procedure Attributes (рис. 17.41).

Из списка Name выберите свойство value, так как именно его мы собираемся связать с объектом-источником. Нажмите кнопку Advanced, чтобы получить возможность производить дополнительные настройки. Установите флажки Property is data bound, This property binds to DataField и Update immediate.

В поле Desctiption введите описание свойства. Оно будет появляться в нижней части окна Properties.

Рис. 17.41. Диалоговое окно Procedure Attributes

Теперь удалите из формы тестового проекта компонент Text 11 и добавьте вместо него новый компонент ownsiiderl. Вы увидите, что у нашего компонента тоже появились свойства DataSourse, DataMember И DataField.

Для свойства DataSource выберите значение ownNavigatorl, для свойства DataMember — значение Main, а для DataField — Creuitlimit.

Запустите приложение. Теперь вы можете видеть созданный компонент в действии (рис. 17.43).

Однако, если вы попробуете изменить значение компонента с помощью клавиш-стрелок, вас ждет разочарование. Значения будут меняться, но не будут заноситься в базу данных. Чтобы проверить это, перейдите к следующей строке и вернитесь назад. Все дело в том, что мы не сообщили объекту-источнику, что значение, хранимое нашим объектом ownsiider, было изменено пользователем и отличается от того значения, что получено из базы данных, а следовательно, имеется необходимость в корректировке записи. Чтобы устранить этот недостаток, измените код события KeyDown так, как показано ниже:

Private Sub UserControl_KeyDown(KeyCode As Integer, Shift As Integer)

Select Case KeyCode

Case vbKeyLeft

Value = Value — Step

Extender.DataChanged = True

Case vbKeyRight

Value = Value + Step

Extender.DataChanged = True

End Select

End Sub

Здесь мы в объекте Extender, относящемся к ownslider, устанавливаем признак того, что данные были изменены. Объект-источник опрашивает Extender и получает необходимую информацию. Теперь, если вы запустите приложение, то убедитесь, что все в полном порядке.

Рис. 17.43. Форма в режиме выполнения

назад | содержание | вперед