Объект BindingContext предоставляет средства организации перехода к другим записям в приложении для работы с данными. При создании таких приложений в предыдущих версиях Visual Basic для организации переходов к другим записям требовалось использовать элемент управления Data. На платформе .NET
Таким образом, при создании приложения, рассчитанного на работу с базами данных, для составления запросов, обновления данных, связывания элементов управления пользовательского интерфейса с данными и перехода к полям таблицы не рекомендуется использовать один громоздкий объект Data. Вместо него в Windows Forms и ADO.NET предусмотрено несколько отдельных специализированных объектов. Выделение функций доступа к данным – ключевое достоинство платформы .NET Framework (этот вопрос подробно рассматривается в следующих главах).
Объект BindingContext является членом семейства объектов Windows Forms (а точнее, членом пространства имен System.Windows.Forms платформы .NET Framework) и содержит множество полезных свойств и методов. Например, объект BindingContext можно использовать для определения количества записей в источнике данных так, как описано ниже.
1. Создайте ярлык lblDataStatus с помощью элемента управления Label с пустой строкой в свойстве Text.
2. В коде формы создайте подпрограмму ShowDataStatus с указанным ниже кодом, которая будет отображать текущее расположение записи и общее количество записей в ярлыке lblDataStatus.
Private Sub ShowDataStatus()
With Me.bindingContext(DsCustomer1, "tblCustomer")
lblDataStatus. Text = "Record " + s.Position + 1 & " of " & .Count
End With
End Sub
3. Поместите вызов этой подпрограммы ShowDataStatus в подпрограммы обработки событий загрузки формы (Forml_Load) и щелчков мыши на обеих кнопках (btnNext_Click и btnPrevious_Click). Это позволит отображать обновленную информацию о текущем количестве записей и текущей записи при загрузке формы и после каждого перемещения к другой записи. Учтите, что отсчет текущего номера записи (свойство Position объекта DataBindings) начинается с нуля (как и во всех коллекциях на платформе.NET). Поэтому для получения реального номера записи следует прибавить к нему 1.
4. Запустите приложение и попробуйте перейти к разным записям таблицы. Тогда в ярлыке будет отображено общее количество записей в таблице и номер текущей записи.
Программный способ связывания данных
С помощью Windows Forms связывание данных можно организовать программно. Это позволяет добиться более высокой гибкости в ситуациях, когда расположение полей неизвестно во время создания приложения либо требуется явно выразить связь между элементами управления и полями другим способом, чем предлагается в интегрированной среде разработки.
Чтобы организовать связь с элементами управления пользовательского интерфейса, следует создать метод Add объекта DataBindings элемента управления Windows Forms. В листинге 1.1 показан типичный способ создания связи с данными в приложении для работы с базами данных.
Private Sub Form1_Load (ByVal sender As System.Object, ByVal e As _
System.EventArgs) Handles MyBase.Load
txtFirstName.DataBindings.Clear()
txtLastName.DataBindings.Clear()
txtFirstName.DataBindings.Add("Text", DsCustomer1, "tblCustomer.LastName")
txtLastName.DataBindings.Add("Text", DsCustomer1, "tblCustomer.LastName")
sqlAdapterl.Fill(DsCustomer1)
ShowDataStatus()
End Sub
(Убедитесь в том, что для свойства ConnectionString объекта SqlConnection1 задана верная строка подключения с используемым вами сервером SQL Server. Дело в том, что в коде этого примера, который можно скопировать по адресу: http://www.williamspublishing.com указана строка подключения к серверу SQL Server, установленному на компьютере ROCKO автора книги. –