Студопедия

Главная страница Случайная страница

Разделы сайта

АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника






Пример P14.






Дан класс Person(ID, FIO, DR), содержащий информацию о клиентах, где FIO – фамилия, DR – дата рождения. Создать web-страницу для просмотра всех клиентов и web-страницу для изменения свойств клиентов.

Решение. Создадим страницу P14, которая позволяет просматривать информацию обо всех клиентах в виде таблицы.

В поле ID формы имеется гиперссылка, по которой открывается другая web-страница – P141.csp, которая является формой отображения и изменения полей нужного объекта. Она должна получить от BrowHuman.csp значение ID редактируемого объекта.

На странице P14.csp значение ID передается странице P141.csp с помощью следующего кода:

< a href=CSPBind1.csp? Id=#(hum.Get(" ID"))#>

В свою очередь на странице P141.csp доступ к переданному значению ID выполняется с помощью объекта %request, код приведен ниже:

< csp: object classname=" Human" name=" obj" objid=#(%request.Get(" Id"))#>

Исходный код страниц приводится ниже.

Код формы P14.csp:

< body bgcolor=" #FFFDD" >
< h1> Просмотр клиентов< /h1>
< table border=" 1" width=" 70%" >
< tr>
< td width=" 5%" > < b> ID< /b> < /td>
< td width=" 25%" > < b> Фамилия< /b> < /td>
< td width=" 15%" > < b> Дата Р< /b> < /td>
< /tr>
< csp: query name=" hum" classname=" MPK.Person" queryname=" MpkQ" >
< csp: while Condition=hum.Next()>
< tr>
< td width=" 5%" >
< a href=P141.csp? Id=#(hum.Get(" ID"))#>
#(hum.Get(" ID"))#< /a> < /td>
< td width=" 25%" > #(hum.Get(" FIO"))#< /td>
< td width=" 15%" > #(hum.Get(" DR"))#< /td>
< /tr>
< /csp: while>
< /table>
< /body>

Код формы CSPBind1.csp:

< BODY>
< csp: object classname=" MPK.Person" name=" obj" objid=#(%request.Get(" Id"))#>
< form name=FPerson cspbind=" obj" >
Фамилия: < input cspbind=" FIO" type=" text" name=" Fam" > < br>
Дата рождения: < input cspbind=" DR" type=" text" name=" dat" > < br>
< input name=" New" type=" Button" value=" Добавить"
OnClick='FPerson_new(); '>
< input name=" Save" type=" Button" value=" Сохранить"
OnClick='FPerson_save(); '>
< input name=" Del" type=" Button" value=" Удалить"
OnClick=" #server(..Del(#(%request.Get(" Id"))#))#" >
< p> < a href=" P14.csp" > НАЗАД< /a>
< /form>
< /BODY>
< script language=" Cache" Method=" Del" arguments=" Id: %Integer" >
set cc=##class(MPK.Person).%DeleteId(Id)
< /script>

С помощью элемента objid=#(%request.Get(" Id"))# форма CSPBind1.csp получает значение поля ID и правильно отображает поля нужного объекта.

Форма CSPBind1.csp также интересна тем, что она использует атрибут CSPBind тега Form, т.е. связывает поля формы с полями объекта. Если осуществляется привязка объекта к форме CSP-страницы тегом < CSP: Object>, Caché автоматически создает методы formname_new() и formname_save(), где formname – это имя формы, методы используются для добавления и сохранения объектов формы.






© 2023 :: MyLektsii.ru :: Мои Лекции
Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав.
Копирование текстов разрешено только с указанием индексируемой ссылки на источник.