назад | содержание | вперед
Связывание с объектом-источником
Наш компонент уже почти готов. Осталось добавить для него возможность связываться с объектом-источником. Для этого необходимо создать свойство компонента 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. Форма в режиме выполнения
назад | содержание | вперед