Реклама:

//---из Toolbox, данными,

//---используя адаптеры из DataForm

AdrMainFormOfApp.GetAdrOfDataForm.GetFakultetAdapter.Fill (ndl, "Fakultet");

//---установим свойства dataGrid на "свой" экземпляр

//---набора данных

dataGrid1.DataSource = nd1;

dataGrid1.DataMember = "Fakultet";

} }

3.2.8.4. Ссылка на существующий экземпляр набора данных из прочих форм приложения

Обратимся из формы ClientForm к записям набора ndl из формы DataForm, при этом в ClientForm дополнительный экземпляр набора данных создавать не будем.

Собственно говоря, в ClientForm нужно попросту получить ссылку на объект DataForm.ndl и потом делать с ним что заблагорассудится.

Пусть нам заблагорассудится разместить в форме ClientForm элемент управления DataGrid, связать его с таблицей Fakultet экземпляра набора данных ndl из формы DataForm и работать с записями названной таблицы.

Рассмотрим текст формы ClientForm. public class ClientForm : System.Windows.Forms.Form

//---адрес главной формы приложения

private FormMain AdrMainFormOfApp;

//---конструктор формы

public ClientForm(FormMain par)

{

//---в локальную переменную помещаем адрес

//---главной формы приложения

AdrMainFormOfApp = par;

}

//---обработчик события загрузки формы

private void ClientForm_Load(object sender, System.EventArgs e)

{

dataGridl.DataSource =

AdrMainFormOfApp.GetAdrOfDataForm.GetND_Adr;

dataGridl.DataMember = "Fakultet";

} }

При установке источника данных для элемента управления dataGridl необходимо обратиться к экземпляру ndl набора данных ND в форме DataForm. Адрес главной формы приложения в ClientForm известен и содержится в локальной переменной AdrMainFormOfApp. Свойство GetAdrOfDataForm главной формы возвращает ссылку на форму данных, т. е. экземпляр формы DataForm. В последнем есть свойство GetND_Adr. Оно возвращает ссылку на DataGorm.ndl, что и требовалось; ссылка на него устанавливается в качестве источника данных элеменнта управления DataGrid.

Достаточно легко убедиться, что формы ClientForm и DataForm работают с одним экземпляром набора данных.

Убедимся, что исходное состояние таблицы Fakultet совпадает и в DataForm (рис. 3.44) и в ClientForm (рис. 3.45).

Шумаков П. В.  ADO.NET и создание приложений баз данных в среде Microsoft Visual Studio .NET. Руководство разработчика с примерами на C#.

рис. 3.44

Удалим в ClientForm последнюю запись, а Ф. И. О. декана в первой записи изменим с Иванова на Якина (рис. 3.46), выйдем из формы и затем вызовем DataForm. Содержание данных в таблице Fakultet будет идентичным (рис. 3.47).

I ■ ClientForm

 

| Fakultety H3DataF«m

Шумаков П. В.  ADO.NET и создание приложений баз данных в среде Microsoft Visual Studio .NET. Руководство разработчика с примерами на C#.

рис. 3.45

Шумаков П. В.  ADO.NET и создание приложений баз данных в среде Microsoft Visual Studio .NET. Руководство разработчика с примерами на C#.

рис. 3.46

Шумаков П. В.  ADO.NET и создание приложений баз данных в среде Microsoft Visual Studio .NET. Руководство разработчика с примерами на C#.

рис 3.47

Итак, обе формы работают с одним экземпляром набора данных.

3.3. Нетипизированные наборы данных

3.3.1. Добавление нетипизированного набора данных во время разработки приложения

3.3.1.1. Добавление набора в форму

Для того чтобы создать нетипизированный набор данных, сначала нужно выбрать в окне Toolbox закладку Data, на ней - элемент управления DataSet и перетащить его в форму.

В появившемся окне Add Dataset (рис. 3.48) следует выбрать режим Untyped dataset (нетипизированный набор данных).

Экземпляр класса DataSet разместится в нижней части формы, рядом с объектами доступа к данным. По умолчанию объекту присваивается имя, состоящее из слова "DataSet" и порядкового номера.


⇐ Предыдущая страница| |Следующая страница ⇒