Реклама:

_I

Индексатор 2. В качестве индекса используется объект столбца:

public object this[DataColumn] {get; set;}

Пример. Обращение целочисленному значению столбца Sostav с использованием объекта-столбца:

DataColumn col = nd1.Kaf.Columns["Sostav"]; short nSostav = (short)nd1.Kaf.Rows[1][col];

_I

Индексатор 3. В качестве индекса используется целочисленный номер - индекс столбца в коллекции DataColumnCollection: public object this[int] {get; set;}

Пример. Обращение к столбцу Sostav с использованием индекса: short nSostav = (short)nd1.Kaf.Rows[1][4];

Индексаторы 4-6. Остальные индексаторы - комбинация предыдущих с параметром, задающим версию значения столбца:

public object this[string, DataRowVersion] {get;} public object this[DataColumn, DataRowVersion] {get;} public object this[int, DataRowVersion] {get;}

где параметр DataRowVersion задает одно из значений перечисления System.Data.DataRowVersion 1.

Пример. Обращение к текущей версии целочисленного значения столбца Sostav с использованием имени столбца и названия версии:

short nSostav = (short)nd1.Kaf.Rows[1]["Sostav",

System.Data.DataRowVersion.Current];

_I

Объект строки DataRow обладает также свойством ItemArray, позволяющим трактовать значения столбцов строки как массивы объектов:

public object[] ItemArray {get; set;}

Пример. Обращение к столбцу Sostav с использованием индекса в свойстве ItemArray строки: short nSostav = (short)nd1.Kaf.Rows[1].ItemArray[4];

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

Пример. Обращение к целочисленному значению столбца Sostav таблицы Kaf типизированного набора данных ndl. Имя столбца выступает как одно из свойств (целочисленного типа) таблицы Kaf: short nSostav = nd1.Kaf[1].Sostav;

_I

3.4.5. Текущая позиция в таблице как источнике данных формы приложения

Рассмотрим форму приложения, изображенную на рис. 3.58. Покажем в элементе управления dataGrid1, размещенном в верхней части формы, содержимое таблицы Kaf набора данных nd1. В расположенных ниже элементах управления textBox1 и textBox2 будем выводить значения столбцов Nazv и Fakultet из текущей строки в dataGrid1.

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

рис. 3.58

Для решения поставленной задачи необходимо произвести связывание (binding)1 элементов управления формы Windows и источников данных (в данном случае такой источник один, это таблица Kaf набора данных nd1).

В свойство DataSource элемента управления dataGrid1 занесем ссылку на набор данных, а в свойство DataMember - строковое имя таблицы:

dataGridl.DataSource dataGridl.DataMember

ndl; "Kaf";

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

Чтобы связать элемент управления textBoxl со столбцом Nazv таблицы Kaf набора данных ndl либо пополним, как показано ниже, коллекцию DataBindings этого элемента управления:

textBoxl.DataBindings.Add("Text", ndl, "Kaf.Nazv");

либо в окне свойств названного элемента управления выберем DataBindings и затем совместим свойство Text со столбцом Nazv из таблицы Kaf набора данных ndl (рис. 3.59).


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