Этап 12 - Предварительный просмотр страницы
Теперь на странице достаточно всего для того, чтобы посмотреть
страницу в действии. В верхней части панели Palette есть кнопка
с надписью "Preview". С помощью этой кнопки можно увидеть,
как jBASE Web Builder намеревается отображать Object.
Просмотр объекта Table в изоляции не очень удобен, потому что
объект Table не имеет какого-либо контекста. Он не знает, например,
ничего о существовании Associated Table,
или ничего не знает о каких-либо таблицах стилей (stylesheet),
которые могут влиять на страницу.
Обычно намного удобнее выполнять предварительный просмотр (Preview)
страницы -объекта Page. При этом в режиме предварительного просмотра
отображается не только сам объект Page, но также отображаются
все объекты - Objects, которые содержатся
внутри страницы.
Поскольку мы его не закрывали, у нас имеется окно редактирования
с объектом Page в нем, оставшееся из Этапа 5. Если этого окна
нет - вызовите его щелчком по элементу меню "HTML Page"
ниже модуля Tutorial Development Module,
а затем щелкните по кнопке с маркировкой "…"
левее Address page.
При появлении этого окна щелкните на кнопке предварительного
просмотра - preview. Откроется новое окно, показывающее содержимое
вашей страницы - объекта Page. Введите 1 в текстовом окошке Employee
Number и щелкните на кнопке Open.
Если все идет удачно, то приложение найдет значение 1 в файле
ADDRESS, получит данные и покажет
результат на экране.
Бывают типичные "кочки и ухабы". Если во время предварительного
просмотра экрана появляется ошибка "File
not found ()" - это означает, что свойство Associated
file объекта page не было настроено на ADDRESS.
Если одно или несколько полей не содержат никаких данных - похоже,
что не были установлены свойства Datafield
для Textboxes.
Если при щелчке на кнопке Open появляется
ошибка CGI - есть вероятность неправильной
установки свойства Trigger Option
для кнопки Open. В этом свойстве
должно быть задано sysfileopen (Система
чувствительна к регистру букв).
Этап 13 - Дополнительные кнопки.
В настоящем виде приложение способно только лишь открывать запись,
которая сама по себе не очень-то и полезна. Нужно добавить дополнительные
кнопки, чтобы позволить пользователям приложения добавлять новые
записи, сохранять изменения, а также удалять записи.
Щелкните по иконке Button в панели
Palette Pane. Затем щелкните по "монтажной
заклепке" - Construction Rivet
справа от кнопки Open. В таблице
после кнопки Open появится другая
кнопка, а панель Properties покажет
свойства новой кнопки. Измените свойство Caption
на значение New, свойство Button
type на Submit, свойство Trigger
type на Sub, а Trigger option на
sysfilenew. Щелкните по кнопке Update
для принятия изменений.
Щелкните по иконке Button в панели
Palette Pane еще раз, но теперь установите
новый элемент на другую "заклепку" Construction
Rivet - в следующем гнезде после кнопок Open
и New. Измените свойство Caption
на значение Save, свойство Button
type на Submit, свойство Trigger
type на Sub, а свойство Trigger option
на sysfilesave. Щелкните по кнопке Update
для принятия изменений.
Добавьте последнюю кнопку таким же способом, как это делали для
кнопки Save. Измените свойство Caption
на Delete, свойство Button type на
Submit, свойство Trigger type на
Sub, а свойство Trigger option на
sysfiledel. Щелкните по кнопке Update
для принятия изменений.
Теперь Table будет выглядеть примерно
так, и теперь даст пользователю возможность добавлять новые записи,
сохранять сделанные изменения, а также удалять записи, которые
больше не нужны.
Выполните предварительный просмотр - Preview
страницы и попробуйте действие каждой из кнопок. Сначала щелкните
на кнопке New, введите новую запись,
а затем щелкните на кнопке Save.
Введите 1 в поле Employee number
и щелкните по кнопке Open. Появится
исходная запись. Внесите в нее изменения и затем щелкните на кнопке
Save. Удалите одну из записей с помощью
кнопки Delete.
Ваше приложение приближается к завершению. В файле ADDRESS
имеются многозначные поля, которые ваше приложение еще не обрабатывает,
и неплохо было бы для Employees иметь
возможность поиска.