Программирование >>  Программирование с использованием ajax 

1 ... 285 286 287 [ 288 ] 289 290 291 ... 396


m Coo<i<1* mt

m Cont 4iT*t > Cou r>

j;; 1 И < 0 e((0) ► И ♦ X (

*> P0RlKo<l<


Puc. 27.24. Перетаскивание узла Orders

13. Выполните двойной щелчок в панели заголовка в окне визуального конструктора Forml. cs для создания обработчика события Form Load. Появится представление кода Forml. CS, которое включает шаблон обработчика событий, готовый для редактирования.

14. Добавьте следующие строки к классу Forml в редакторе кода:

public partial class Forml : Form {

NorthwindDataContext northwindDataContext = new NorthwindDataContext () ;

public Forml0 {

InitializeComponent ();

private void Forml Load(object sender, EventArgs e) {

customerBindingSource. Da taSource = northwindDataContext. Customers ;

15. Откомпилируйте и выполните программу (можно просто нажать <F5> для запуска отладки). После этого вы увидите информацию о заказчиках из США и их заказах - подобно тому, как это показано на рис. 27.25 для заказчиков из Германии.

A1.WJ

0ЮО0743Л T22M

1МИ lOSM

!)0n

AinO

lO/Ti-iM 10/13 m7 v7tm

4 niM

Puc. 27.25. Детальная информация о заказчиках из Германии



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

Описание полученных результатов

Процесс создания и использования отображения LINQ to SQL Northwind.dbml точно такой же, как в предыдущих примерах. Как и в предыдущих примерах консольных приложений, вы должны создать экземпляр класса NorthwindDataContext, через который обеспечивается доступ ко всем прочим объектам LINQ to SQL. Здесь вы сделали данный экземпляр частью класса Forml вместо добавления его в метод Main ():

public partial class Forml : Form {

NorthWindDataContext northWindDataContext = new NorthwindDataContext();

Ключевая строка кода, который подключает привязанные к данным поля к классу NorthWindDataContext, заключена в коде, добавленном в метод Form Load ():

private void Forml Load(object sender, EventArgs e) {

customerBindingSource.DataSource = northWindDataContext.Customers;

Хотя элементы управления данными были сгенерированы для вашего класса LINQ to SQL, когда был специфицирован объект в качестве источника данных, присваивание члена DataSource - вот что сообщает С# о том, из какого экземпляра объекта следует наполнять элементы управления.

Однако, как только начальный экземпляр найден, остальное происходит автоматически за кулисами , когда пользователь взаимодействует с элементами управления на экране, и вы не должны ничего кодировать самостоятельно! Что может быть проще?

Обновление связанных данных с помощью LINQ to SQL

Одна часть функциональности, отсутствие которой вы, возможно, заметили в предыдущем примере - это внесение изменений в базу данных. Кнопка Save (Сохранить), помеченная пиктограммой с изображением дискеты, справа от линейки навигации (рис. 27.26) по умолчанию недоступна до тех пор, пока вы не включите ее в своем коде.

Рис. 27.26. Кнопка Save

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



Пракпгмсков занятие j Обновление привязанных данных

с LINQ to SQL

Для создания примера выполните следующие шаги в Visual С# 2008.

1. Модифицируйте существующий проект Windows Forms BegVCSharp 2 7 2 LINQtoSQLDataBinding в каталоге С: \BegVCSharp\Chapter27.

2. В окне визуального конструктора Forml. cs выполните двойной щелчок на кнопке Save в панели навигации.

3. В окне кода Forml. cs появится пустой обработчик события customerBinding NavigatorSaveltemClick. Добавьте следующую строку к этому методу-обработчику:

private void customerBindingNavigatorSaveItem Click(object sender, EventArgs e) {

northwindDataContext.SubmitChanges ();

4. Вернитесь в окно визуального конструктора Forml. cs и установите свойство Enabled для элемента управления customerBindingNavigatorSaveltem в True.

5. Если вы выбрали No (Нет), чтобы не копировать файл базы данных Northwnd.MDF, как рекомендовано в предыдущих примерах, перейдите к шагу 6. Если вы выберете Yes (Да), щелкните на Northwnd.MDF в Solution Explorer. В окне Properties (Свойства) установите свойство Сору to Output Directory (Копировать в выходной каталог) в Сору if Newer (Копировать, если новее), как показано на рис. 27.27. Это гарантирует, что Visual С# 2008 не перепишет измененную локальную копию, когда вы запустите проект.

6. Откомпилируйте и выполните программу (можно нажать <F5> для запуска отладки).

3 SoKjton Be9VCShф.27.2.lJNQtoSQLD t B.nd.ng а р0, сЦ jB ,VCSh*rp.27.2.llNQtoSQLD.UBJiiding ei ,Л Pop n-ei 6i vJ> D ltSoufC

CufTom detMource J AjMmbtylrrto cs I i Re-.oucn res. : J Settngs vettingi it -ijl Rcfefences app co f 9 e- Э Forml CI ; Fwml C>es.gn f cs

I Jj Forml res 1 ;A Northwind dbrrl

4j North..nddbmlUvout VSl Nwtbt*d {lesignetci NORTHWNDMDF Щ Pr09# m-ci

MOBfHWNDjroF Filf P

Content I Copy >w>tys

Custom Toot Dor>otcopy

Cu tom Tool Mimespece

FMeN*me

Рис. 27.27. Установка свойства Copy to Output Directory в Copy if Newer



1 ... 285 286 287 [ 288 ] 289 290 291 ... 396

© 2006 - 2024 pmbk.ru. Генерация страницы: 0.22
При копировании материалов приветствуются ссылки.
Яндекс.Метрика