Класс 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; Мы поможем в написании вашей работы! |
Мы поможем в написании ваших работ!