¨ Вторая коллекция позволяет добавить к таблице произвольные, заданные вами, свойства.
DataViewSettingsCollection представляет собой типизированную коллекцию, работающую по принципу списка, а PropertyCollection работает по принципу HashTable и, поэтому, хранит пары типа DictionaryEntry.
Связь с базой данных поддерживается за счет группы функциональных объектов, называемой поставщиками данных (.NET Data Providers). Их совместная работа позволяет управлять эффективностью процесса обмена данными.
¨ Connections — классы, осуществляющие соединение с источником данных,
¨ DataAdapters — классы, осуществляющие перенос данных из реальных таблиц базы данных в коллекцию таблиц (объектов типа DataTable), поддерживаемых классом DataSet.
¨ Commands — классы, реализующие выполнение команд (SQL-запросов или хранимых процедур) при обращении к базе данных.
¨ DataReaders — классы, осуществляющие выборку данных из базы в безопасном режиме (read-only).
Эти объекты работают в случае, когда источником данных является реальная база данных, а не коллекция, массив или XML-файл. Сейчас мы рассмотрим случай, когда источником данных является не база данных, а XML-файл. Знакомство с другими поставщиками данных пока отложим. Далее в курсе мы покажем, как связать DataSet с реальной таблицей базы данных, созданной в архитектуре OLEDB или SQL Server.
Рассмотрим приемы работы с объектами семейства классов ADO.NET: DataSet, DataTable, DataColumn, DataRow, DataRowView, а также новым элементом табличного отображения данных — DataGridView, который на сей раз будет связан не с коллекцией типа ArrayList, как было в предыдущем семестре, а с набором данных, управляемым классом DataSet.
Множество студентов будем хранить в объекте studs класса DataTable. Множество экзаменов будем хранить в объекте exams. Класс DataTable определен в пространстве имен System.Data. Он является стержнем дерева классов подсистемы ADO.NET, обладает универсальными возможностями, позволяя оперировать произвольными данными в памяти. Объекты класса DataTable активно используются другими классами, такими как: DataSet (отображение в памяти всей базы данных) и DataView (образ таблицы).
¨ Создайте новый проект под именем PeopleGridView, переименуйте файл и класс (Form1 в MainForm),
¨ В строке Text свойств формы задайте значение Students Table,
Добавьте компонент MenuStrip, идентифицируйте его как mainMenu, в правом верхнем углу отыщите кнопку Smart button (см. рис. ), нажмите ее и выберите команду Insert standard Items.
Откройте пункт меню Edit и добавьте две команды &Find и ToolStripSeparator, как показано ниже.
Объекты класса ToolStripMenuItem (также как и MenuItem при использовании компонета MainMenu) содержат встроенные коллекции Items — ссылок на реальные или виртуальные команды меню (объекты типа ToolStripItem). Каждый объект класса ToolStripMenuItem способен породить дерево вложенных объектов (меню), пока вам не надоест вкладывать меню в меню и вы не остановитесь на каком-то уровне. Объекты этого, последнего уровня и будут рабочими командами меню.
Вместо элемента Toolbar, который работал в .NET Framework 1.1, используем новый элемент типа ToolStrip (с идентификатором toolStrip).
В свою внутреннюю коллекцию Items типа ToolStripItemCollection он позволяет добавлять кнопки и некоторые другие элементы управления. Вы уже догадались, что кнопка с подсказкой Add ToolStripButton, автоматически появляющаяся на поверхности toolStrip в режиме дизайна, служит для ввода в коллекцию новых элементов. Используйте ее для вставки кнопок, меток и выпадающего списка. Вы можете, как и ранее, воспользоваться Smart button (), добавить набор стандартных кнопок, а затем удалить ненужные и добавить недостающие элементы. Для изменения местоположения и размеров элементов на форме удобно пользоваться клавишами, в том числе и в комбинации с Shift.
¨ Кнопкам (см. рис.) присвойте имена: btnOpen, btnSave и btnFindNext.
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.