Учебник по Showcase: Загрузка тестовых примеров

Материал из Course Orchestra
Перейти к: навигация, поиск

Внимание! Изложенная здесь информация устарела! В качестве учебника следует использовать https://share.curs.ru/webhelp/ (work in progress).


Отвлечемся на некоторое время от непосредственной работы с элементами Showcase и обратимся к наиболее трудоемкой вещи в изучении платформы - языку XForms. В данном подразделе мы рассмотрим примеры создания простых форм.

Отметим, что здесь будут перечислены большинство элементов XForms, но не все возможные, поэтому в случае необходимости создания нетривиальной формы обратитесь к консультанту или самостоятельно изучите спецификацию XForms.

Как уже отмечалось выше при описании XForms, для быстрого просмотра всех примеров нам понадобится xml с данными и шаблон формы. Чтобы не нагружать дополнительными процедурами систему, для примеров мы будем использовать уже знакомые нам элементы Showcase, а именно карточку создания отдела.

Чтобы отображались изменения, сделанные в этой главе нужно изменить файл датапанели на тот, что был описан в главе "Простая форма"

К примеру, процедура загрузки самого простого примера будет выглядеть следующим образом:

ALTER PROCEDURE [dbo].[orgCard]  
   @main_context varchar(512)='',  
   @add_context varchar(512)='',  
   @filterinfo xml='',  
   @session_context xml='',  
   @element_Id varchar(512)='',  
   @xformsdata xml output,  
   @xformssettings xml output  
AS  
BEGIN  
   SET NOCOUNT ON;  
 
   set @xformsdata = '
      <schema xmlns="">
         <info>
            <name/>
         </info>
      </schema>'		
 
   set @xformssettings = '<properties/>'
   
END

А простейший шаблон формы, который будет отображать xml, возвращаемый в переменную @xformsdata из процедуры выше, будет выглядеть следующим образом:

<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet href="xsltforms/xsltforms.xsl" type="text/xsl"?>
<html xmlns="http://www.w3.org/1999/xhtml" xmlns:ev="http://www.w3.org/2001/xml-events"
    xmlns:xf="http://www.w3.org/2002/xforms">

    <head>       
        <xf:model id="mainModel">
            <xf:instance id="mainInstance">
                <schema xmlns=""/>
            </xf:instance>
        </xf:model>
    </head>
    
    <body>
        <xf:input ref="/schema/info/name"/>
    </body>
    
</html>

Его необходимо сохранить в шаблон orgCard.xml

Для отображения тестового примера необходимо нажать на кнопку Добавить над гридом с отделами. В отдельном окне появится соответствующая форма. В последующих примерах вместо самой процедуры для сокращения будет указан только возвращаемый ею xml. Обратите внимание на то, что во всех xml с данными прописан пустой namespace (это необходимо для корректной работы формы).