Информационный сайт

 

Реклама
bulletinsite.net -> Книги на сайте -> Программисту -> Троелсен Э. -> "С# и платформа .NET. Библиотека программиста" -> 258

С# и платформа .NET. Библиотека программиста - Троелсен Э.

Троелсен Э. С# и платформа .NET. Библиотека программиста — СПб.: Питер, 2004. — 796 c.
ISBN 5-318-00750-3
Скачать (прямая ссылка): cplatforma2004.pdf
Предыдущая << 1 .. 252 253 254 255 256 257 < 258 > 259 260 261 262 263 264 .. 320 >> Следующая

// Создаем столбец данных
DataColumn myColumn = new DataColuran();
myColumn.ColumnName = "Foo";
myColumn.Datatype - System.Type.GetType("System.Int32"l:
Il Настраиваем автоматическое увеличение значений myColumn.Autolncrement = true; myColumn.AutoIncrementSeed = 500; myColumn.AutoIncrementStep = 12:
Мы определили исходное значения для столбца Foo, равное 500, а шаг приращения — 12. Первому значению в этом столбце будет присвоено значение 12, а последующим — соответственно 512, 536 и т. д.
Давайте проверим, так ли это. Вставим наш столбец Foo в таблицу, затем добавим в нее несколько строк и посмотрим, что будет со значениями столбца Foo для этих строк:
protected void DtnAutoCol Click (object sender. System.EventArgs e)
{
Il Создаем столбец данных
DataColumn myColumn = new DataColumnO:
myColumn.ColumnName = "Foo":
myColumn.DataTyре = System.Type.GetTypef"System.Int32"):
Il Настраиваем автоматическое увеличение значений myColumn,Autolncrement - true; myColumn.AutoIncrementSeed = 500: myColumn.AutoIncrementStep = 12;
И Добавляен этот столбец в таблицу DataTable туТаЫе = new DataTableCMyTable"): туТаЫе.Columns.Add(myColumn):
U Добавляем 20 строк
DataRow г;
fcrv 4Tst i = О; i < 1++) {
г - myTable. NewRowO: myTable.Rows.Add(r):
638 Глава 13 - Доступ к данным при помощи ¦
)
А іопорь значения для каждой строки
string temp -
DataRowCol"lection rows = myTable.Rows; fortint і - О; і < myTable.Rows.Count: і++) {
DataRow currRow = rows[i]: temp += currRow["Foo"] + " ":
}
HessageBox,Show(temp. "These values brought ala auto-increment"):
}
Когда мы запустим приложение и щелкнем на соответствующей кнопке, должно открыться окно, представленное на рис. 13.4.
These values brought pii .< its hv'iempnt
«.ИТ»
500 512 524 536 5« 560 572 584 596 60S «0 632 644 656 iS? 680 692 704 716 728
ok
Рис. 13.4. Столбец счетчика — автоматическое увеличение значений
Настраиваем представление столбца в формате
Подавляющее большинство свойств типа CutaCofuiiin, которые остались за рамками предыдущих разделов, являются вполне очевидными (особенно если вы владеете соответствующей терминологией для работы с базами данных). Однако на одном свойстве хотелось бы остановиться подробнее. Это свойство — ColumnMapping, и оно определяет, как данный столбец будет представлен в формате XML при извлечении содержимого столбца при помощи метода WriteXmlQ. Для свойства ColumnMapping используются значения из перечисления Мар.;чпдТуре (табл. 13.4).
Таблица 13.4. Значения перечисления MappingType Значение перечисления MappingType Описание
Attribute Столбцу соответствует атрибут XMt
Element Столбцу соответствует элемент XMl, (это значение
используется по умолчанию)
Hidden Столбцу соответствует внутренняя структура
TableElement Столбцу соответствует значение таблицы
Text_Столбцу соответствует значение текста
По умолчанию для Col uinrimappi ng используется значение Mappi El Что
же это значит? Все очень просто. Предположим, что вы записываете содержимое DataSet в текстовый файл в формате XML. При использовании значения Element столбцу і-іпр ї d в текстовом файле будут соответствовать значения вида:
Тип DataRow 639
Тип DataRow
Как мы только что убедились, структура таблицы определяется как объектов DataColumn. Для хранения этой коллекции в объекте DataTable используется внутренний объект Data Col urnnCol lection. Помимо этого, для DataTable важна еще одна коллекция: коллекция объектов DataRow, которая и определяет собственно данные, хранящиеся в таблице. Если в нашей таблице employees предусмотрено 20 записей для сотрудников, каждую запись будет представлять отдельный объект DataRow. При помощи членов класса DataRow мы можем производить операции вставки, изменения и удаления строк из таблицы, а также значения, которые содержатся в строках.
Работа с DataRow несколько отличается от работы с DataColuiт, поскольку объект DataRow не нужно создавать напрямую. Вместо этого мы получаем на него ссылку при помощи объекта Пйі:;їтйі:Лс, Например, предположим, что нам нт-рі>ґи>и'.>лікь вставить новую строку в нашу таблицу Empl oyees. Для этого нам потребуется метод DataTable.NewRowO:
//Создаем объект таблицы
DataTable етрТэЫе = new DataTableCEmployees"):
//... Сутеев, что здесь мы в TuCIiMJy столбцы EmpID. Fii'Stf'.'ane и
// Создаем строку для сотрудника DataRow row = empTable.NewRowO : row["EmpID"] = 102: row["FirstName"] = "Joe"; row["tastName"]. - "Blow":
Il Добавляем ее во внутреннюю коллекцию строк в таблице - DataRowCollection empTablе. Rows.Add(row):
Как мы видим на нашем примере, для хранения данных о строках в объекте
DataTable используется еще одна внутренняя коллекция — DataRowCcllectlOR.
Теперь еще немного о типе DataRow. Наиболее важные свойства этого типа представлены в табл. 13.5. Кроме того, отметим, что класс DataRow определяет пидекслто|., при помощи которого можно получить значение из поля строки по порядковому номеру. Конечно же, то же самое значение можно будет получить и по имени столбца.
Предыдущая << 1 .. 252 253 254 255 256 257 < 258 > 259 260 261 262 263 264 .. 320 >> Следующая
Реклама
Авторские права © 2009 AdsNet. Все права защищены.
Rambler's Top100