Visual studio как включить привязку данных
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Open with Desktop
- View raw
- Copy raw contents Copy raw contents
Copy raw contents
Copy raw contents
научитесь создавать Windows Forms пользовательский элемент управления, поддерживающий привязку данных уточняющего запроса, используя класс лукупбиндингпропертиесаттрибуте в Visual Studio.
Создание пользовательского элемента управления Windows Forms с подстановочной привязкой данных
дополнительные сведения о создании элементов управления см. в разделе разработка Windows Forms элементов управления во время разработки.
При создании элементов управления для использования в сценариях привязки к данным необходимо реализовать один из следующих атрибутов привязки к данным.
В этом пошаговом руководстве создается элемент управления поиска, который привязан к данным из двух таблиц. В данном примере используются таблицы Customers и Orders из учебной базы данных "Борей". Элемент управления "Уточняющий запрос" привязан к CustomerID полю Orders таблицы. Он использует это значение для поиска в CompanyName Customers таблице.
В ходе этого пошагового руководства вы научитесь:
создайте новое приложение Windows Forms.
Добавление нового пользовательского элемента управления в проект.
Визуальное проектирование пользовательского элемента управления.
Реализация атрибута LookupBindingProperty .
Создайте набор данных с помощью мастера настройки источника данных .
Настройка столбца CustomerID таблицы Orders в окне Источники данных для использования нового элемента управления.
Создание формы для отображения данных в новом элементе управления.
в этом пошаговом руководстве используется SQL Server Express LocalDB и образец базы данных Northwind.
если у вас нет SQL Server Express LocalDB, установите его на странице загрузки SQL Server Expressили с помощью Visual Studio Installer. в Visual Studio Installer можно установить SQL Server Express LocalDB как часть рабочей нагрузки хранения и обработки данных или как отдельный компонент.
Установите учебную базу данных Northwind, выполнив следующие действия.
в Visual Studio откройте окно обозреватель объектов SQL Server . (SQL Server обозреватель объектов устанавливается как часть рабочей нагрузки хранения и обработки данных в Visual Studio Installer.) разверните узел SQL Server . щелкните правой кнопкой мыши экземпляр LocalDB и выберите создать запрос.
Откроется окно редактора запросов.
скопируйте скрипт Transact-SQL Northwind в буфер обмена. этот сценарий T-SQL создает базу данных Northwind с нуля и заполняет ее данными.
вставьте скрипт T-SQL в редактор запросов, а затем нажмите кнопку выполнить .
По истечении короткого времени выполнение запроса завершается и создается база данных Northwind.
создание проекта Windows Forms приложения
первым шагом является создание проекта приложения Windows Forms .
В Visual Studio в меню Файл выберите пункты Создать > Проект.
в средней области выберите тип проекта приложения Windows Forms .
Назовите проект лукупконтролвалксраугх и нажмите кнопку ОК.
Создается проект LookupControlWalkthrough, который добавляется в Обозреватель решений.
Добавление пользовательского элемента управления в проект
В данном руководстве элемент управления поиска создается из пользовательского элемента управления, поэтому добавьте в проект LookupControlWalkthrough элемент Пользовательский элемент управления.
В меню Проект выберите пункт Добавить пользовательский элемент управления.
Введите LookupBox в поле имя и нажмите кнопку добавить.
Элемент управления LookupBox добавляется в Обозреватель решений и открывается в конструкторе.
Проектирование элемента управления LookupBox
Добавление требуемого атрибута привязки данных
Переключите элемент управления LookupBox в представление кода. (В меню Вид выберите Код.)
Замените код в LookupBox следующим кодом:
. code language="vb" source="../snippets/visualbasic/VS_Snippets_VBCSharp/VbRaddataDisplaying/VB/LookupBox.vb" . . code language="csharp" source="../snippets/csharp/VS_Snippets_VBCSharp/VbRaddataDisplaying/CS/LookupBox.cs" .
В меню Построение выберите пункт Построить решение.
Создание источника данных из базы данных
В этом шаге Мастер настройки источника данных используется для создания источника данных на основе таблиц Customers и Orders в учебной базе данных "Борей".
Чтобы открыть окно Источники данных , в меню данные выберите команду отобразить источники данных.
В окне Источники данных выберите Добавить новый источник данных, чтобы запустить Мастер настройки источника данных.
На странице Выбор типа источника данных выберите элемент База данных и нажмите Далее.
На странице Выбор подключения к базе данных выполните одно из следующих действий:
Если подключение к учебной базе данных Northwind доступно в раскрывающемся списке, то выберите его.
Выберите Новое подключение для открытия диалогового окна Добавить/изменить подключение.
Если базе данных требуется пароль, выберите параметр для включения конфиденциальных данных и нажмите кнопку Далее.
На странице Сохранение подключения в файле конфигурации приложения нажмите кнопку Далее.
Разверните узел Таблицы на странице Выбор объектов базы данных.
Выберите таблицы Customers и Orders и нажмите кнопку Готово.
В проект добавляется NorthwindDataSet , а Customers Orders таблицы и отображаются в окне Источники данных .
Задание столбца CustomerID таблицы Orders для использования элемента управления LookupBox
Вы можете задать создаваемый элемент управления в окне Источники данных перед перетаскиванием элементов на форму.
Откройте Form1 в конструкторе.
Разверните узел Customers в окне Источники данных.
Разверните узел Orders (в узле Customers под столбцом Fax).
Щелкните стрелку раскрывающегося списка в узле Orders и выберите Сведения в списке элементов управления.
Щелкните стрелку раскрывающегося списка в столбце CustomerID (в узле Orders) и выберите Настройка.
Выберите LookupBox в списке Связанные элементы управления диалогового окна Настройка данных интерфейса пользователя.
Щелкните стрелку раскрывающегося списка в столбце CustomerID и выберите LookupBox.
Добавление элементов управления на форму
Вы можете создавать элементы управления с привязкой к данным с помощью перетаскивания элементов из окна Источники данных на форму Form1.
чтобы создать элементы управления с привязкой к данным в Windows форме, перетащите узел заказы из окна источники данных на Windows форму и убедитесь, что элемент управления LookupBox используется для вывода данных в CustomerID столбце.
Привязка элемента управления для поиска CompanyName из таблицы Customers
Чтобы настроить привязки подстановки, выберите главный узел Customers в окне Источники данных и перетащите его в поле со списком в кустомеридлукупбокс на форме Form1.
При этом задается привязка к данным для отображения CompanyName из таблицы Customers с сохранением значения CustomerID из таблицы Orders .
Нажмите клавишу F5 для запуска приложения.
Перейдите по нескольким записям и проверьте, что CompanyName отображается в элементе управления LookupBox .
В этом пошаговом руководстве демонстрируются основы привязки данных в проекте уровня документа. одно поле данных в SQL Server базе данных привязано к именованному диапазону в Microsoft Office Excel. В этом пошаговом руководстве также показано, как добавлять элементы управления, позволяющие прокручивать все записи в таблице.
Применимость. Информация в этой статье относится к проектам уровня документа для Excel.- Дополнительные сведения см. в разделе доступность функций по типам приложений Office и проектов.
В этом пошаговом руководстве описаны следующие задачи:
создание источника данных для проекта Excel.
Добавление элементов управления на лист.
Прокрутка записей базы данных.
Отображаемые на компьютере имена или расположения некоторых элементов пользовательского интерфейса Visual Studio могут отличаться от указанных в следующих инструкциях. Это зависит от имеющегося выпуска Visual Studio и используемых параметров. Дополнительные сведения см. в разделе Персонализация среды IDE.
Предварительные требования
Для выполнения этого пошагового руководства требуются следующие компоненты:
Выпуск Visual Studio, включающий инструменты разработчика Microsoft Office. Дополнительные сведения см. в статье Настройка компьютера для разработки решений Office.
Excel 2013 или Excel 2010.
доступ к серверу с помощью образца базы данных Northwind SQL Server.
разрешения на чтение и запись в базу данных SQL Server.
Создание нового проекта
на этом шаге вы создадите проект книги Excel.
Создание нового проекта
Visual Studio открывает новую книгу Excel в конструкторе и добавляет в обозреватель решений проект простой привязки данных .
Создание источника данных
С помощью окна Источники данных добавьте типизированный набор данных в свой проект.
Создание источника данных
если окно источники данных не отображается, отобразите его в строке меню, выбрав просмотреть > другие Windows > источники данных.
Выберите команду Добавить новый источник данных , чтобы запустить Мастер настройки источника данных.
Выберите база данных и нажмите кнопку Далее.
выберите подключение данных к образцу базы данных Northwind SQL Server или добавьте новое соединение с помощью кнопки создать подключение .
После выбора или создания соединения нажмите кнопку Далее.
Снимите флажок сохранить соединение, если он установлен, а затем нажмите кнопку Далее.
Разверните узел таблицы в окне объекты базы данных .
Установите флажок рядом с таблицей Клиенты .
Мастер добавит таблицу Customers в окно Источники данных . Он также добавляет в проект типизированный набор данных, видимый в Обозреватель решений.
Добавление элементов управления на лист
В этом пошаговом руководстве на первом листе потребуются два именованных диапазона и четыре кнопки. Сначала добавьте два именованных диапазона из окна Источники данных , чтобы они автоматически привязываются к источнику данных. Затем добавьте кнопки из панели элементов.
Добавление двух именованных диапазонов
убедитесь, что книга " мои простые данные Binding.xlsx открыта в конструкторе Visual Studio, где отображается лист1 .
Откройте окно Источники данных и разверните узел Клиенты .
Выберите столбец CompanyName и щелкните появившуюся стрелку раскрывающегося списка.
Выберите элемент NamedRange в раскрывающемся списке и перетащите столбец CompanyName в ячейку a1.
NamedRangeЭлемент управления с именем companyNameNamedRange создается в ячейке a1. В то же время в BindingSource customersBindingSource проект добавляются именованный, адаптер таблицы и DataSet экземпляр. Элемент управления привязан к BindingSource , который, в свою очередь, привязан к DataSet экземпляру.
Выберите столбец CustomerID в окне Источники данных , а затем щелкните появившуюся стрелку раскрывающегося списка.
Щелкните элемент NamedRange в раскрывающемся списке, а затем перетащите столбец CustomerID в ячейку B1.
NamedRange customerIDNamedRange В ячейке B1 создается другой элемент управления с именем, который привязывается к BindingSource .
Добавление четырех кнопок
На вкладке Общие элементы управления панели элементов добавьте Button элемент управления в ячейку a3 листа.
Эта кнопка называется Button1 .
Добавьте еще три кнопки в следующие ячейки в этом порядке, чтобы имена отображались следующим образом:
Cell (Ячейка) | (Имя) |
---|---|
B3 | Button2 |
C3 | Button3 |
D3 | Button4 |
Инициализация элементов управления
Задайте текст кнопки и добавьте обработчики событий во время Startup события.
Инициализация элементов управления
В Обозреватель решений щелкните правой кнопкой мыши Лист1. vb или Sheet1. CS и выберите в контекстном меню пункт Просмотреть код .
Добавьте следующий код в метод, Sheet1_Startup чтобы задать текст для каждой кнопки.
Теперь добавьте код для управления Click событиями кнопок, чтобы пользователь мог просматривать записи.
Добавление кода для включения прокрутки записей
Добавьте код в Click обработчик событий каждой кнопки, чтобы перемещаться по записям.
Переход к первой записи
Добавьте обработчик событий для Click события Button1 кнопки и добавьте следующий код для перехода к первой записи:
Переход к предыдущей записи
Добавьте обработчик событий для Click события Button2 кнопки и добавьте следующий код, чтобы переместить положение обратно на одну:
Переход к следующей записи
Добавьте обработчик событий для Click события Button3 кнопки и добавьте следующий код, чтобы переместить эту точку на одну:
Переход к последней записи
Добавьте обработчик событий для Click события Button4 кнопки и добавьте следующий код для перехода к последней записи:
Тестирование приложения
Теперь можно протестировать книгу, чтобы убедиться, что вы можете просматривать записи в базе данных.
Проверка книги
Нажмите клавишу F5 для запуска проекта.
Убедитесь, что первая запись отображается в ячейках a1 и B1.
Нажмите другие кнопки прокрутки, чтобы убедиться, что запись изменилась ожидаемым образом.
Дальнейшие действия
В этом пошаговом руководстве показаны основные принципы привязки именованного диапазона к полю в базе данных. Ниже приводятся некоторые из возможных последующих задач.
Кэшировать данные, чтобы их можно было использовать в автономном режиме. Дополнительные сведения см. в разделе как кэшировать данные для использования в автономном режиме или на сервере.
Привязка ячеек к нескольким столбцам в таблице, а не к одному полю. Дополнительные сведения см. в разделе Пошаговое руководство. сложная привязка данных в проекте уровня документа.
Visual Studio предоставляет средства времени разработки для работы с пользовательскими объектами в качестве источника данных в приложении. Если требуется хранить данные из базы данных в объекте, привязанном к элементам управления пользовательского интерфейса, рекомендуется использовать Entity Framework для создания класса или классов. Entity Framework автоматически создает весь стандартный код отслеживания изменений, что означает, что любые изменения локальных объектов автоматически сохраняются в базе данных при вызове метода AcceptChanges для объекта DbSet. Дополнительные сведения см. в документации по Entity Framework.
Требования к объектам
единственным требованием для пользовательских объектов при работе со средствами проектирования данных в Visual Studio является то, что объекту требуется по крайней мере одно общее свойство.
Примеры использования пользовательских объектов в качестве источников данных
хотя существует множество способов реализации логики приложения при работе с объектами в качестве источника данных, для SQL баз данных существует несколько стандартных операций, которые можно упростить с помощью созданных Visual Studio объектов TableAdapter. На этой странице объясняется, как реализовать эти стандартные процессы с помощью адаптеров таблиц TableAdapter. Он не предназначен для создания пользовательских объектов. Например, вы обычно выполняете следующие стандартные операции независимо от конкретной реализации объектов или логики приложения:
Загрузка данных в объекты (обычно из базы данных).
Создание типизированной коллекции объектов.
Добавление объектов в коллекцию и удаление объектов из коллекции.
Отображение данных объекта для пользователей в форме.
Изменение или изменение данных в объекте.
Сохранение данных из объектов обратно в базу данных.
Загрузка данных в объекты
В этом примере данные загружаются в объекты с помощью адаптеров таблиц TableAdapter. По умолчанию адаптеры таблиц создаются с двумя видами методов, которые извлекать данные из базы данных и заполняют таблицы данных.
TableAdapter.Fill Метод заполняет существующую таблицу данных возвращаемыми данными.
TableAdapter.GetData Метод возвращает новую таблицу данных, заполненную данными.
Самым простым способом загрузки пользовательских объектов с данными является вызов TableAdapter.GetData метода, перебор коллекции строк в возвращенной таблице данных и заполнение каждого объекта значениями в каждой строке. Можно создать GetData метод, возвращающий заполненную таблицу данных для любого запроса, добавленного в TableAdapter.
Visual Studio имена запросов TableAdapter Fill и по GetData умолчанию, но эти имена можно изменить на любое допустимое имя метода.
В следующем примере показано, как выполнить перебор строк в таблице данных и заполнить объект данными:
Создание типизированной коллекции объектов
Можно создавать классы коллекций для объектов или использовать типизированные коллекции, которые автоматически предоставляются компонентом BindingSource.
В следующем коде показано, как создать класс для строго типизированной коллекции Order объектов:
Добавление объектов в коллекцию
Объекты добавляются в коллекцию путем вызова Add метода пользовательского класса коллекции или BindingSource .
Add Метод предоставляется автоматически для пользовательской коллекции при наследовании от BindingList .
В следующем коде показано, как добавить объекты в типизированную коллекцию в BindingSource :
В следующем коде показано, как добавить объекты в типизированную коллекцию, наследующую от BindingList :
В этом примере Orders коллекция является свойством Customer объекта.
Удаление объектов из коллекции
Объекты из коллекции удаляются путем вызова Remove RemoveAt метода или пользовательского класса коллекции или BindingSource .
Remove Методы и RemoveAt автоматически предоставляются для пользовательской коллекции при наследовании от BindingList .
В следующем коде показано, как выполнять обнаружение и удаление объектов из типизированной коллекции в BindingSource с помощью RemoveAt метода:
Отображение данных объекта для пользователей
Чтобы отобразить данные в объектах для пользователей, создайте источник данных объекта с помощью мастера настройки источника данных , а затем перетащите весь объект или отдельные свойства в форму из окна Источники данных .
Изменение данных в объектах
чтобы изменить данные в пользовательских объектах, привязанных к Windows Forms элементам управления, просто измените данные в связанном элементе управления (или непосредственно в свойствах объекта). Архитектура привязки данных обновляет данные в объекте.
Если приложение требует отслеживания изменений и отката предложенных изменений их исходных значений, необходимо реализовать эту функциональность в объектной модели. Примеры того, как таблицы данных отслеживают предлагаемые изменения, см DataRowState . в статьях, HasChanges и GetChanges .
Сохранение данных в объектах обратно в базу данных
Сохраните данные обратно в базу данных, передав значения из объекта в методы DBDirect адаптера таблицы.
Visual Studio создает методы DBDirect, которые могут выполняться непосредственно в базе данных. Для этих методов не требуется набор данных или объекты DataTable.
Чтобы сохранить данные из коллекции объектов, пройдите по коллекции объектов (например, с помощью цикла For-Next). Отправьте значения для каждого объекта в базу данных с помощью методов DBDirect адаптера таблицы.
В следующем примере показано, как использовать TableAdapter.Insert метод DBDirect для добавления нового клиента непосредственно в базу данных:
вы можете отображать данные для пользователей приложения, привязывая данные к Windows Forms. чтобы создать эти элементы управления с привязкой к данным, перетащите элементы из окна источники данных на конструктор Windows Forms в Visual Studio.
если окно источники данных не отображается, его можно открыть, выбрав просмотреть > другие Windows > источники данных или нажав клавиши Shift + Alt + D. проект должен быть открыт в Visual Studio для просмотра окна источники данных .
Перед перетаскиванием элементов можно задать тип элемента управления, к которому необходимо выполнить привязку. Различные значения отображаются в зависимости от выбора самой таблицы или отдельного столбца. Можно также задать пользовательские значения. Для таблицы сведения означает, что каждый столбец привязан к отдельному элементу управления.
Элементы управления BindingSource и BindingNavigator
Компонент BindingSource служит двум целям. Во-первых, он предоставляет уровень абстракции при привязке элементов управления к данным. Элементы управления в форме привязываются к BindingSource компоненту, а не непосредственно к источнику данных. Во-вторых, он может управлять коллекцией объектов. Добавление типа в BindingSource создает список этого типа.
Дополнительные сведения о BindingSource компоненте см. в следующих статьях:
элемент управления BindingNavigator предоставляет пользовательский интерфейс для навигации по данным, отображаемым Windows приложением.
Привязка к данным в элементе управления DataGridView
Для элемента управления DataGridViewвся таблица привязана к этому отдельному элементу управления. При перетаскивании элемента DataGridView в форму также появляется панель инструментов для навигации по записям ( BindingNavigator ). Набор данных, TableAdapter, BindingSource и BindingNavigator отображается в области компонентов. На следующем рисунке также добавлен TableAdapterManager , так как таблица Customers имеет связь с таблицей Orders. Все эти переменные объявляются в автоматически созданном коде как закрытые члены класса Form. Автоматически созданный код для заполнения DataGridView находится в Form_Load обработчике событий. Код для сохранения данных для обновления базы данных находится в Save обработчике событий для BindingNavigator. Этот код можно перемещать или изменять при необходимости.
Поведение DataGridView и BindingNavigator можно настроить, щелкнув смарт-тег в правом верхнем углу каждого из них:
Если элементы управления, необходимые приложению, недоступны в окне Источники данных , можно добавить элементы управления. Дополнительные сведения см. в разделе Добавление пользовательских элементов управления в окно Источники данных.
Кроме того, можно перетаскивать элементы из окна Источники данных на элементы управления, которые уже находятся в форме, чтобы привязать элемент управления к данным. Элементы управления, которые уже привязаны к данным, применяют привязку данных к элементу, который был перемещен в последнее время. Чтобы быть допустимым целевым объектом перетаскивания, элементы управления должны иметь возможность отображения базового типа данных элемента, перетаскиваемого в него, из окна Источники данных . Например, нельзя перетащить элемент, имеющий тип данных DateTime CheckBox , на, поскольку не CheckBox может отобразить дату.
Привязка к данным в отдельных элементах управления
При привязке источника данных к подробностям каждый столбец в наборе данных привязывается к отдельному элементу управления.
Обратите внимание, что на предыдущем рисунке вы перетащили из свойства Orders таблицы Customers, а не из таблицы Orders. При привязке к Customer.Orders свойству команды навигации, выполненные в DataGridView , немедленно отражаются в элементах управления "подробности". При перетаскивании из таблицы Orders элементы управления все равно будут привязаны к набору данных, но не будут синхронизированы с DataGridView.
На следующем рисунке показаны элементы управления, привязанные к данным по умолчанию, которые добавляются в форму после привязки свойства Orders в таблице Customers к сведениям в окне Источники данных .
Обратите внимание, что каждый элемент управления имеет смарт-тег. Этот тег включает настройки, применяемые только к этому элементу управления.
Для пользователей приложения данные можно отображать путем привязки данных к элементам управления. Эти элементы управления с привязкой к данным можно создать путем перетаскивания элементов из окна Источники данных в область конструктора или элементы управления на поверхности Visual Studio.
В этом разделе описываются источники данных, которые можно использовать для создания элементов управления с привязкой данных. Также здесь описываются некоторые общие задачи, относящиеся к привязке данных. более подробные сведения о создании элементов управления с привязкой к данным см. в разделе привязка Windows Forms элементов управления к данным в Visual Studio и привязка элементов управления WPF к данным в Visual Studio.
Источники данных
Создайте модель с помощью мастера EDM , а затем перетащите эти объекты в конструктор.
Классы LINQ to SQL не отображаются в окне Источники данных. Однако можно добавить новый источник данных объектов, основанный на классах LINQ to SQL, а затем перетащить нужные объекты в конструктор, чтобы создать элементы управления с привязкой к данным. дополнительные сведения см. в разделе пошаговое руководство. создание классов LINQ to SQL (O-R Designer).
Источники данных - окно
Источники данных доступны в проекте как элементы в окне Источники данных. это окно отображается, если область конструктора формы является активным окном в проекте, или ее можно открыть (когда проект открыт), выбрав просмотреть > другие Windows > источники данных. Можно перетаскивать элементы из этого окна для создания элементов управления, привязанных к базовым данным, а также настраивать источники данных, щелкнув правой кнопкой мыши.
Для каждого типа данных в окне Источники данных создается элемент управления по умолчанию в момент перетаскивания элемента в конструктор. Перед перетаскиванием элемента из окна Источники данных можно изменить созданный элемент управления. Дополнительные сведения см. в разделе Установка элемента управления, создаваемого при перетаскивании из окна Источники данных.
Задачи, решаемые в процессе привязки элементов управления к данным
В следующей таблице перечислены некоторые из наиболее распространенных задач, выполняемых для привязки элементов управления к данным.
Читайте также: