Xpoint
   [напомнить пароль]

Шаблон в шаблоне (использование datasource)

Метки: [без меток]
2008-09-15 12:38:10 [обр] Дмитрий Закревский[досье]

Есть два "xml"-файла:

1.xml

<sr_list>
   <subsysrights flag="0" sname="Вход в программу" obj_id="1" sgroup_id="1" />
   <subsysrights flag="0" sname="Пользователи" obj_id="5" sgroup_id="2" />
</sr_list>

2.xml

<srt_list>
   <typerights group_id="1" gvalue="0" name="Запрещен"/>
   <typerights group_id="1" gvalue="1" name="Разрешен"/>
   <typerights group_id="2" gvalue="0" name="Нет доступа"/>
   <typerights group_id="2" gvalue="1" name="Чтение"/>
   <typerights group_id="2" gvalue="2" name="Запись"/>
   <typerights group_id="2" gvalue="3" name="Полный доступ"/>
</srt_list>

Задача состоит в том, чтобы построить grid из полей первого файла,
один из столбцов grid-а - выпадающий список из данных второго файла, где
1.xml->sgroup_id = 2.xml->group_id
Вот как в моем представлении должен выглядеть код программы:

<grid>
   <columns>
      <column flex="1" />
      <column flex="1" /> 
      <column flex="1" /> 
      <column flex="1" />
   </columns>      
   <rows id="g_sr" datasources="1.xml" ref="*" querytype="xml"> 
      <row>
         <label value="ID" />
         <label value="Название"  />
         <label value="Чтение" />
         <label value="Запись" /> 
      </row>
      <template>
         <query expr="subsysrights"/>
         <action>
            <row uri="?">
               <textbox value="?obj_id" size="5" />
               <textbox value="?sname" size="30" />
               <textbox value="?flag" size="5" />

               <menulist sizetopopup="always" size="10" >
                  <menupopup id="typerights_list" datasources="2.xml" ref="*" querytype="xml">
                     <template>
                        <query expr="typerights[contains(@group_id, ?sgroup_id)]"/>
                        <action>      
                           <menuitem uri="?" label="?name" value="?gvalue"/>
                        </action>
                     </template>
                  </menupopup>
               </menulist>
                     
               </row>
         </action>
      </template>
               
   </rows>
</grid>

Но данный пример (шаблон в шаблоне) не работает. Можно ли как то построить требуемый grid без использования Javascript?

Powered by POEM™ Engine Copyright © 2002-2005