Приложение PagingSample

для получения набора данных о

В приложении PagingSample источник привязки MCustomersBin — DingSource Добавляется на форму из панели инструментов, без использования поддержки конструктора для соединения его к источнику данных. Для получения набора данных о клиентах этот код снова использует уровень доступа к данным из главы 2 и устанавливает таблицу Customers В качестве источника данных для источника привязки. Затем в качестве источника данных для сетки, текстовых полей и поля со списком задается источник привязки, как показано в листинге 3.6 Помимо загрузки и организации привязки данных метод OnFormLoad Выполняет назначение методов формы двум событиям. Первое из них — событие источника привязки PositionChanged. Это событие возбуждается при любом изменении текущей позиции в нижележащем источнике данных. Форма также назначает метод событию TextChanged Текстового поля позиции, показанного на рис. 3.4. Назначения для событий Click Командных кнопок перемещения вперед и назад здесь не показаны, поскольку они производятся в конструкторе, на странице Events окна Properties. Обработчики для командных кнопок и двух только что описанных событий приведены в листинге 3.7.

Как видно из приведенного кода, кнопки для перемещения по записям просто используют соответствующие методы MoveXXX Источника привязки, предоставляя последнему самому позаботиться о изменении позиции в источнике данных. Когда источник привязки это сделает, все привязанные к нему элементы управления автоматически обновятся в соответствии с новой текущей записью. Кроме того, когда источник привязки возбуждает событие PositionChanged, Вызывается метод обработчика OnPositionChanged. Этот метод обновляет текстовое поле позиции, чтобы оно отображало номер текущей записи. Метод OnPositionTextChanged Позволяет ввести пользователю в этом поле новый номер записи и явным образом использует его для установки свойства Position Источника привязки.

Обратите внимание на метод TryParse, Новинку среди примитивов. NE Этот метод позволяет выполнить анализ введенной строки, не выбрасывая исключение в случае, когда анализ терпит неудачу. В нашем коде TryParse Используется для проверки на тот случай, когда пользователь вводит недействительный номер.