Класс BindingSource. Назначение, свойства, методы, примеры использования.



Класс BindingSource позволяет создать связанный источник данных, который выступает посредником между ЭУ и источником данных. Объекты BindingSource поддерживают как простое, так и сложное связывание данных (data binding) с помощью свойств:

- Свойство DataSource

- Свойство DataMember.

Связанный источник данных позволяет:

- Управлять текущей записью с помощью

1) свойств Current и Position;

2) набораметодов: MoveNext(), MovePrevious, MoveFirst, MoveLast.

- Фильтрация и сортировка.

- Добавление новых записей.

- Инициирует события

Объекты данного класса BindingSource используются для двух целей:

1. Упрощается связывание ЭУ на форме с данными предоставляя дополнительный опосредованный уровень, управление указателя записи, оповещения об изменении и другие сервисы

- Для этого BindingSource подключается к источнику данных (свойство DataSource) и выполняется связывание ЭУ формы с компонентом BindingSource.

- Все дальнейшее взаимодействие с данными (навигация (переход между записями), сортировка, фильтрация и обновление) выполняется с помощью свойств и методов BindingSource.

2. Объект BindingSource может использоваться, как строго типизированный источник данных. Обычно тип базового источника данных фиксируется с помощью:

- Метод Add() для добавления элемента (item) к компоненту BindingSource.

- Свойство DataSource для подключения списка (list), отдельного объекта или типа.

Основные методы BindingSource:

DataSource – источник данных;

DataMember – при сложном связывании задается путь к данным в источнике данных (или таблица, или отношение);

List – коллекция записей …

Position – положение текущей записи;

Current – текущая запись …

Filter – условие отбора записей;

Sort – условие сортировки записей;

Count – количество записей;

intAdd(Objectvalue) – добавить существующую запись;

RemoveAt() -удалить элемент по указанному индексу;

Clear() – удалить все элементы из списка;

Find()– найти запись по заданному условию;

Класс BindingSource. Организация фильтрации записей. Вывод связных записей из двух источников данных. Примеры фрагментов кода.

Свойство Filter возвращает или задает выражение, используемое для фильтрации, отображаемых строк.

private void textBoxFindFuelType_TextChanged(object sender, EventArgs e)       

{           

string strFilterFuel = "FuelType LIKE '";          

strFilterFuel = strFilterFuel + textBoxFindFuelType.Text + "%'";

fuelsBindingSource.Filter = strFilterFuel;      

 }

Длясвязыванияданныхмежду customersBindingSource и ordersBindingSource нужно:

• У первого связанного источника customersBindingSource задать:

› свойству DataSource ссылку на источник данных DataSet

› свойству DataMember задать строку с названием таблицы “Customers”.

Например:

customersBindingSource = new BindingSource();

customersBindingSource.DataSource = ds;             

customersBindingSource.DataMember = "Customers";

• У второго связанного источника ordersBindingSource задать

› свойству DataSource ссылку на первый связанный источник customersBindingSource

› свойству DataMember задать строку с названием отношения между таблицей “Customers” и “Orders”

ordersBindingSource = new BindingSource();

ordersBindingSource.DataSource = customersBindingSource;

ordersBindingSource.DataMember = “FK_Orders_Customer";

• В этом случае второй источник будет содержать только те записи из “Orders”, которые являются дочерними для записи, выбранной в связанном источнике “Customers”.

 

Использование средств Visual Studio для разработки приложений баз данных на основе технологии связывания элементов управления с данными. Класс BindingNavigator.

 

Предоставляет визуальный графический интерфейс для работы со связанным источником данных и отслеживания его изменений.

Для связи с источником данных нужно задать свойству BindingSource ссылку на объект BindingSource.

Графический интерфейс BindingNavigator состоит из набора ToolStrip кнопок, текстовых окон и статических текстовых элементов для выполнения обычных связанных с данными действий, таких как добавление, удаление и переход между записями данными (элементами источника данных).

Для связи с источником данных нужно задать свойству BindingSource ссылку на связанный источник данных.

Элемент управления: Функция:
Кнопка AddNewItem Вставляет новую строку в источник данных.
Кнопка DeleteItem Удаляет текущую строку из источника данных.
Кнопка MoveFirstItem Переход к первому элементу источника данных.
Кнопка MoveLastItem Переход к последнему элементу источника данных.
Кнопка MoveNextItem Переход к следующему элементу источника данных.
Кнопка MovePreviousItem Переход к предыдущему элементу источника данных.
Текстовое поле PositionItem Возвращает текущую позицию в источнике данных.
Текстовое поле CountItem Возвращает общее число элементов в источнике данных.

 

Каждому элементу управления соответствует член компонента BindingSource, обеспечивающий ту же функциональность программным путем.

Например, кнопка MoveFirstItem соответствует методу MoveFirst компонента BindingSource, кнопка DeleteItem соответствует методу RemoveCurrent и т.д.

Алгоритм связывания с данными с помощью Visual Studio:

- Создаем типизированный источник данных (Data->AddNewDataSource…).

- Создаем связанные источники данных BindingSource и связываем их с источниками данных и между собой с помощью свойств.

- Создаем на форме элементы и связываем с BindingSource.

- При желании можно разместить элемент BindingNavigator и связать с объектом BindingSource.

 


Дата добавления: 2018-05-02; просмотров: 3100; Мы поможем в написании вашей работы!

Поделиться с друзьями:






Мы поможем в написании ваших работ!