Bindingsource c как использовать

Bindingsource c как использовать

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

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

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

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. Организация фильтрации записей. Вывод связных записей из двух источников данных. Примеры фрагментов кода.

Читайте также:  Iconbit hds6l прошивка 2018

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

private void textBoxFindFuelType_TextChanged(object sender, EventArgs e)

string strFilterFuel = "FuelType LIKE ‘";

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

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

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

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

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

customersBindingSource = new BindingSource();

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

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

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

ordersBindingSource = new BindingSource();

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Дата добавления: 2018-05-02 ; просмотров: 993 ; ЗАКАЗАТЬ РАБОТУ

BindingSource BS = new BindingSource();
BS.DataSource = new data_m(34, "Lara"); // класс с двумя свойствами Возраст и Имя

Добавил я к примеру такое
label2.DataBindings.Add( .

что тут приписать, что бы из BindingSource взять поле Name и привязать его к свойству Text лэйбла.

Что дает мне что-то вроде этого:

BindingSource имеют много преимуществ, ниже некоторых из них

1) Когда вы привязываете данные к любому элементу управления с помощью bindingsource, он будет действовать с обеих сторон. Любые изменения, внесенные в эффекты источника данных для контроля и любые изменения в источнике данных эффектов управления. Вам не нужно брать значение из управления и назначать на источник данных снова

2) Вы можете применить filter к datasource с помощью BindingSource

3) Вы можете работать с одним datasource , привязанным к many controls . Например, у вас есть таблица Fruits , и вы привязываете этот table к 2 DataGridView для отображения Aplles и Peaches отдельно. С помощью свойства BindingSource filter вы можете отображать Apples и Peaches отдельно.

4) Вы можете выполнять поиск, сортировку, редактирование, фильтрацию с помощью источника привязки

Читайте также:  A rel nofollow href onclick

Вы не можете видеть преимущества привязки для основных списков, но есть более чем основной список, который вы увидите, как полезно использовать bindingsource.

Вы можете получить дополнительную информацию Здесь

Одно из преимуществ заключается в том, что если вы вручную манипулируете значениями в DataGridView, изменения будут отражены в базовых данных. (EDIT: очевидно, это также работает с обычной привязкой DataSource.)

еще одно преимущество заключается в том, что вы получаете возможность добавлять запись в базовые данные (по крайней мере, если это List ), нажав на лишнее пустое поле и отредактировав значения. Это добавит новый элемент без какого-либо дополнительного кода для записи.

Этот Подробное руководство по привязке данных может помочь пролить больше света на возможности привязки данных вообще

EDIT:

Еще одно отличие заключается в том, что манипуляция базовыми данными, например добавление элемента в список, не будет отображаться в DataGridView , даже если снова присвоить свойство DataSource , которое будет работать, например, в ComboBox . Но переназначение нового экземпляра BindingSource сделает трюк.

Ссылка на основную публикацию
Adblock detector