Книги, научные публикации Pages:     | 1 |   ...   | 2 | 3 | 4 | 5 |

т Посвящается Тиму и Эрин Ч я живу благодаря людям, которых люблю. ...

-- [ Страница 4 ] --

HTML-код, созданный разработчиком пользовательского интерфейса, смешивается с кодом разработчика баз данных. Это не вызовет трудностей, если обе задачи выполняет один век, что характерно для небольших сайтов. Однако, когда задача разработки приложения распределена между разработчиками ин применяющими HTML, и разработчиками программного кода, использующими VBScript (Microsoft Visual BasicScripting Edition), часто возникают затруднения, особенно когда при созда нии большого приложения разработка пользовательского интер фейса и кода связи с базой данных выполняется одновременно, Этот конфликт можно свести к минимуму, воспользовавшись средством для управления исходным текстом, но оно же может замедлить работу одного из разработчиков, а другому придется работать с единственным файлом с обоими типа кода.

328 Глава Вторая проблема просто но я с ней столько раз, что уже сбился со счета. На ранних разработки боль шого проекта по крайней мере раз з неделю того, чтобы следовать приведенному ранее образцу, пишу примерно такой код:

<х while <> True) всегда обращается в True и программа зависает в бесконечном цикле Ч во всяком случае, пока не остановят Information Services (IIS) или не наступит страницы.

не дает забыть оператор перемещения между запися ми, так как метод Read объекта не только считывает строку, но и передвигается на следующую запись, возвращая код, информирующий об успехе или неудаче перемещения. Таким образом, пример из 8 используется применитель но к выглядит так:

while Данные и формы В этом примере приложения функция объекта DataReader считывает текущую запись, на следу ющую и возвращает код успеха или неудачи этого перемещения.

Одно это изменение мне избавиться от одной или двух перезагрузок в неделю Совет В предыдущем фрагменте кода я вал метод объекта Data Reader. Существует различных методов для получения поддерживаемых типов перемен ных. Можно также воспользоваться командой или В первом случае проблема в том, что возвращаемое значение является объек том и его нужно к правильному типу. В рассмотренном примере я уже знаю порядковые номера поэтому, когда вызываю мне не приходится дополнительно определять полей, как того требует команда Доступ к данным с использованием В и следующей главе я проанализирую пример системы по распространению статей о гольфе. Я много работаю для Обще ства гольфа США и для его печатного издания журнала Одна из задач, поставленных перед нами, изыскание дополнительных путей предоставления материалов на наших партнеров. когда партнерам все больше нужны статьи, опубликованные на нашем Web-сайте, они созда ют ссылки на виртуальные каталоги, размещенные на нем. С точ ки зрения пользователя эти каталоги выглядят, как часть партнера, однако таковыми не являются, поэто 330 Глава при каждом изменении партнерами CGOUX сайтов мы вынуж дены обновлять и наш Web-сайт, чтобы обеспечить гладкое информации в партнеров.

Одним из решений этой проблемы является использование XML (подробнее о XML Web-сервисах Ч в В этом случае партнеры вправе воспользоваться любым протокол SOAP (Simple Object Access для подключения к XML и запроса При на личии установленного XML Web-сервиса доступны другие возможности. Например, партнеры могут захотеть опуб ликовать результаты последних турниров по гольфу. XML Web сервис Ч это средство предоставления таких ма териалов наиболее удобным для партнеров способом.

Для поддержки подобного XML Web-cepsuca в этой мы вос небольшой данных GolfArticles (ее вы найдете на прилагаемом к Кроме статей, в этой базе данных хранится информация о доступе клиентов к той или иной статье.

Серверный элемент управления это достаточно серверный элемент управле ния, позволяющий создавать табличные формы для отображе ния, редактирования и удаления строк данных. На рис. 9-1 пока зана простая табличная форма для отображения некоторых дан ных из таблицы Customer.

Кроме столбцов с информацией UserName, Password u в таблице предусмотрены два дополнительных столбца. Первый содержит ссылку Edit для дан ной строки, а Ч ссылку Delete. В традиционном для Visual Basic 6.0 элементе управления grid, как правило, просто перемещаются между строками и редактируют информацию.

Ссылки Edit и Delete для переключения в режим или удаления отдельных строк. При щелчке ссыл ки Edit в одной из строк DataGrid переходит в режим редактиро вания строки (рис. 9-2).

Данные и формы Рис. 9-1. в простой табличной форме, созданная в результате работы программы GridTest.aspx Рис. 9-2. GridTest.aspx со строкой в режиме редактирования Теперь можете содержимое во всех столбцах с при к БД, кроме CustomerlD и которые я вил только чтения.

В этом примере все неудовлетворительно выглядят ссылки Edit, Delete, Update и Cancel. Давайте посмотрим, как выглядит эта страница в режиме конструирования в Visual Studio что можно сделать для ее улучшения. На рис. 9-3 показана страница GridTest.aspx в Visual Studio Глава.

r Edit Рис. GridTest.aspx в режиме конструирования в Visual Studio Изменение в конструкторе Visual Studio V серверного элемента DataGrid имеются сотни некоторые из них отображаются з окне Properties в ниж нем правом углу на рис. 9-3. Конечно же, вы вправе откорректи ровать эти используя только окно Properties, однако существуют другие средства для изменения вида и DataGrid. Если щелкнуть правой кнопкой мыши DataGrid в кон структоре, появляется контекстное меню, в котором для нас наи более интересны команды Auto Format и Property Builder Диалоговое окно Auto Format показано на рис. 9-4. В нем разра ботчик может изменить десятки параметров, выбрав одну из за ранее определенных цветовых схем. Каждому из свойств и сопоставлено множество параметров по управлению цветом, шрифтами, обрамлением и каскадными таблицами стилей. Выбор цветовой схемы вызыва ет изменение всех стилей одновременно.

Данные и формы Colorful Colorful Colorful Б Professional -. ;

'Х. Simple Ч Рис. окно Auto Format в Visual Studio Другим полезным средством, облегчающим разработчику работу с элементом управления является средство Property Builder (рис. 9-5), которое позволяет добавлять новые столбцы, текст заголовка, столбцов к полям данных, а также на страивать формат заголовка или содержимого столбцов. Я вос пользовался этим для выравнивания текста по цент ру во всех заголовках и в столбце Рис. Диалоговое окно Property Builder для элемента управления DataGrid 334 Глава Не совсем понятно, как заменить ссылки Edit, Update и Cancel на соответствующие графические Решение достаточ но просто Ч надо ввести текст соответствующей ссылки в тек стовое поле Edit Text. если заменить текст ссылки Edit на строку то вместо текста в столбце Edit отобразится рисунок Edit.jpg (рис. Если нужно отменить об рамление в тэге определите атрибут так:

Для вида рисунка вы можете по своему усмотрению использовать другие атрибуты этого тэга.

Совет Преимущество Property der для добавления атрибутов в тэги по сравнению с использованием текстовых атрибутов, как заключается в том, что perty Builder при необходимости скорректирует сим недопустимые в атрибутах. Например, текст

На левой панели диалогового окна Property Builder имеется группа Paging Ч ее элементы для параметров разбиения на страницы (рис. 9-7).

Вы можете указать, нужно ли разбиение на и если да, то как оно должно Можете просто разбить данные на страницы или определить пользовательское разбиение на стра ницы, а также уточнить, следует ли указывать номера страниц для быстрого перехода или отображать ссылки для перехода на сле дующую и предыдущую страницу. Вы вправе также ограничить количество на одной странице. Если включить разбиение на страницы и не определить пользовательскую разбивку, эле мент управления выполнит утомитель ную работу по разбиению на страницы.

. Х Рис. 9-7. Группа элементов Paging диалогового окна Property Builder Окончательный вариант содержимого файла rid spx пока зан в листинге 336 Глава Page Visual 7.0" Basic 7.0" Delete 338 Глава