|
Программирование >> Элементы языков с и с++
Общая технология организации формирования набора данных в приложении Мы уже говорили о том, что соединение с источником данных в рассматриваемой среде программирования происходит по так называемой ADO-технологии, а точнее сказать - по технологии ADO.NET, которая была спе-циалыю разработана для доступа к данным без реального соединения с БД. При этом все данные размещаются в оперативной памяти. Работа с отсоединенными данными в ADO.NET осуществляется с помощью классов из пространства имен System::Data. Иерархия этих классов показана на рис. 12.17. System Data DataSec > ОасаТаЫе 9 DataColumn > Constraint .% Detaflelatvon > DataRow Ч Рис. 12.17. Классы, применяемые для работы по технологии ADO.NET Самый важный класс при работе с отсоединенными данными - это DataSet. Через этот класс происходит вся работа приложения с базами данных. Мы видели, что к каждой таблице БД автоматически подключается компонент TableAdapter, который содержит сформированный средой (и, может быть, скорректированный разработчиком) запрос на общение с таблицей. После Теперь посмотрим на работу двух связанных таблиц в форме, когда они перенесены в нее при выбранной опции Details для каждой из них (опция выбирается из выпадающего списка, который появляется рядом с названием таблицы в окне Data Sources, если на имени таблицы щелкнуть мышью). Вид приложения в этом виде показан на рис. 12.16. Воспользовавшись кнопками прокрутки строк, расположенными на линейке инструментов работы с набором данных, мы увидим, что для каждого автора высвечивается название его произведения. )Рабта с наборами данных того как получены результаты запроса с помощью компонента TableAdapter и сохранены в DataSet, соединение между БД и объектом DataSet перестает существовать. Изменения в DataSet не сказываются на БД и наоборот. Класс DataSet включаст в себя набор таблиц DataTable и связей между таблицами DataRelation. Класс DataTable включает набор строк DataRon, набор столб1Юв таблицы DataColunin и наборы отношений ChildRelations и ParcntRclatiuii.s между столбцами разных таблиц БД. Класс DataRow инкапсулируст информацию о строке в таблице и состоянии строки: Deleted, Modifled, New и Unchanged (т. е. строка была удалена, модифицирована, вновь поступила или осталась неизмененной). Класс Constraint использустся для сохранения целостности данных в таблицах (вспомните понятие первичного ключа, внешнего ключа). Посмотрим на перечень свойств одного из компонентов, подсоединяемых к приложению, когда в форму перетаскивается таблица БД. Это компонент BindingNavigator (в дальнейшем - Навигатор), который обеспечивает навигацию (перемещение) по таблице, перенесенной в форму, с помощью элементов, расположенных на линейке инструментов, которая и является отображением этого Навигатора в форме. г System. - в ln.( i<lM I TelBinding AtcessWeOescr:*! AccKsibleName AccessUeRole MMmltem ШмОгор A&MIternReofder AkpwHefge AnchM (WoSKe B**ff(x*idlmage BackgrajndlmageL Bn6r g5oufce Default bindingNav False False rrue гор, Left True I I Control □ (none) Tile TelBinding! , relBindingNavlgaCor System.\ BindingSource lelBinain rrue CanOverflow CaitextMefiuStfip (none) Countltem bindin CourtltemFormet df {0} Deletettem bindin Dock Top Enabled True Ш Font Tahom< GenerateMerrfcer True В GripMargri 2; 2; 2; GripStyle Visible F, ImasieScaingaie 16; 16 ImeMode NoConI LayoutStyle TelBinilingMavigatar Systeni.\ - Нопгог v л О; о False О; О; О; О О; О 0:0 Private binding bindlngNi blndingN. E) Location LocM В Maign В MaumumSce 16 Г*пглит5ге Modifiers MoveFirstllem MoveLastltem MoveTJextttem MovePrevlousItem bindlngN. Ш Padding 0; 0; (; 0 PosiionRem bindingis*. RenderMode ManagerRi RightToLeft No ShowItemToolTips Frue. , TelBiiKjtngNav MoveMcriuern MovePrevtousttem 0 Peddmo POfitnoItern RenderMode fttrn,eft ShowItemToomps в Size Stretch Tabindex TabStop Tag Text TextDirection UseWatCurscr Visible и System.\ bindinyMf blndingN. 0; 0; 1; 0 LiiidaigN. ManageiP. No ue v 475; 25 False n False b<fidifi<jn< Horizontal False True u Здесь открывается диалоговое окно для редактирования элементов Навигатора Рис. 12.18. Свойства Навигатора Сама таблица в форме может быть отражена разными способами, одним из которых является отображение в виде DataGridView. Это так называемая сетка или решетка, являющаяся средством табличного представления данных, помещаемых в форму. Чтобы не путать этот инструмент с собственно таблицей, чьи данные он оформляет , станем называть его просто Grid. Так вот этот-то Grid и управляется Навигатором, который обеспечивает перемещение подсветки строки, ее удаление и сохранение, а также формирование пустой строки. У Навигатора, как и у всякого другого компонента, имеется свой набор свойств, с помощью которых можно подстраивать Навигатор. Перечень свойств Навигатора приведен на рис. 12.18, а пример настройки цвета линейки Навигатора показан на рис. 12.19. Настройка цвета производилась из окна Properties самого компонента, а настройку его элементов можно проводить, воспользовавшись свойством Items: если его открыть, увидим диалоговое окно с перечнем элементов Навигатора и свойствами каждого из них. j Фамилм, Имя. Отчество Лом шрес , Телефон Введите ФИО и нажмите на кнопку <Найгм> Найти Выхоа Изменен цвет линейки Навигатора с синего (по умолчанию) на салатовый настройкой этого свойства SlTelOataSet t-JfjelBindingSource £3 TelTableAdapter \ TeBndingfgavigalor Hems Collection Editor Select item and add to kst below: gindingNavigator relBtndingI bindinavigatorMoveFrstltem bndingNavigatorMovePrevtousItem 1 bindtngNavigalorSeparatof libil hinHiniTNflvmVnrPntrt-innThm AccessibleName AccessibleRole El Appearance Info BackgrourvJImage f 1 (none) BackgroundlmageLayout ТЙе ;none) Рис. 12.19. Настройка цвета линейки Навигатора
|
© 2006 - 2024 pmbk.ru. Генерация страницы: 0
При копировании материалов приветствуются ссылки. |