Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Otvety_k_ekzamenu.docx
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
563.9 Кб
Скачать
  1. Класс 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 – количество записей;

int Add(Object value) – добавить существующую запись;

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

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

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

  1. Класс 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”.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]