Рис. 6.20. Программа с ненастроенным DataGrid.
Как видите, внешний вид у таблицы получился не очень хорошим. Чтобы таблица хорошо выглядела, ее надо настроить.
8. Следует остановить программу и вернуться к дизайнеру форм. В нем нужно выделить DataGrid1 и перейти в инспектор свойств, где следует нажать кнопку вызова редактора свойства TableStyles. На экран будет выведено окно добавления стилей. Нажатием на кнопку Add создается новый стиль, который нужно связать с таблицей, указав имя таблицы MyTable в поле MappingName. Там же надо выбрать свойство GridColumnStyles и нажать кнопку редактирования этого свойства. На экран будет выведено очередное окно. При помощи кнопки Add следует добавить стиль для каждого поля таблицы, заполняя соответствующие поля с правой стороны окна. Для этого можно воспользоваться информацией из табл. 6.9.
Таблица 6.9. Стили полей DataGrid
9. Заполнять все эти свойства нужно аккуратно. Если не будет найдено имя таблицы, то DataGrid окажется пустым, если же для какого-либо поля не будет найдено или окажется неверно MappingName, то это поле не будет отображено в таблице. Кстати, это можно делать специально, скрывая от пользователя какие-то поля, информация из которых не должна быть ему видима. После заполнения этих настроек нужно снова запустить программу и убедиться, что введенная информация отображается в таблице. Программа должна выглядеть так, как показано на рис. 6.21.
Рис. 6.21. Исправленный DataGrid.
Компоненты и классы для работы с данными
Следует подробнее рассмотреть компоненты работы с данными, которые были использованы в примере. В этом разделе будут описываться только основные классы из пространства имен System.Data. Список классов и компонентов и краткие сведения об их назначении сведены в табл. 6.10. Следует обратить внимание, что большинство компонентов, сходных по назначению, существуют в варианте для работы с MS SQL Server на десктопе и для SQL Server на Pocket PC.
Таблица 6.10. Компоненты для работы с данными
DataColumn
Класс DataColumn предназначен для создания и конфигурирования поля в таблице DataTable. Нельзя использовать созданный объект типа DataTable, пока в него не будет добавлено необходимое количество полей нужного типа. Если объект типа DataSet создается программно, разработчик должен в коде модуля создавать поля и таблицы. Если DataSet заполняется данными при помощи объекта DataAdapter или загружается из файла XML, то создание таблиц и полей в них происходит без участия программиста.
Класс DataColumn имеет всего два метода. Метод GetType() позволяет получить текущий тип объекта (то есть System.Data.DataColumn), а метод ToString() возвращает его строковое представление.
Основная функциональность класса сосредоточена в свойствах, чтение или запись которых и представляет особую ценность при работе с DataColumn. Эти свойства перечислены в табл. 6.11.
Таблица 6.11. Свойства класса DataColumn
DataRow
Объект DataRow представляет собой одну строку данных в объекте таблицы DataTable. Именно этот объект чаще всего используется при редактировании данных в таблице.
Методы и свойства объекта DataRow приведены в табл. 6.12 и 6.13.
Таблица 6.12. Методы класса DataRow Таблица 6.13. Свойства класса DataRow DataTable
Класс DataTable представляет собой обычную таблицу базы данных. В нем хранится сочетание полей, записей и ограничений, с которыми можно взаимодействовать через коллекции объектов соответствующего типа. Именно три коллекции полей, записей и ограничений и составляют таблицу.
В табл. 6.14 и 6.15 даны описания методов и полей класса DataTable.
Таблица 6.14. Методы класса DataTable Таблица 6.15. Свойства класса DataTable DataSet
Класс DataSet предназначен для работы с данными из разных источников. Он инкапсулирует в себе функциональность, позволяющую создавать кэшируемое отображение данных в памяти. Классы DataColumn, DataRow и DataTable структурируют содержимое объекта DataSet, а класс DataAdapter наполняет эти структуры данными. Впрочем, для этих же целей можно использовать методы объекта DataSet.
Именно DataSet обеспечивает разнообразие приемов работы с данными в. NET CF. Программист может работать с локальной или внешней базой данных, может использовать однозвенный режим или веб-сервисы в качестве источников данных. Методы и свойства объекта DataSet описаны в табл. 6.16 и 6.17.
Таблица 6.16. Методы класса DataSet Таблица 6.17. Свойства класса DataSet SqlDataAdapter и SqlCeDataAdapter
Как уже говорилось, два этих класса должны обеспечивать двустороннюю связь объекта DataSet с базой данных. Они заполняют DataSet данными и обеспечивают возвращение измененных данных на сервер. Методы и свойства этих классов приведены в табл. 6.18 и 6.19.
Читать дальше
Конец ознакомительного отрывка
Купить книгу