2013-09-24 3 views
1

У меня есть этот код:вызова окна с кнопкой в ​​ZK

<?xml version="1.0" encoding="UTF-8"?> 

    <zk> 
     <style src="/widgets/grid/inline_row_editing/style.css" /> 
     <div apply="org.zkoss.bind.BindComposer" 
    viewModel="@id('vm')  @init('com.gemalto.segmentation.viewModel.users.InplaceEditingViewModel')"> 

    <window id="MnoNEWin" title="Mnos" width="300px" visible="false" minimizable="true" border='normal'> 
     <listbox id="listNE" model="@bind(each.mnoList)" > 
      <listhead> 
       <listheader label="Mnos" sort="auto" /> 
      </listhead> 
     </listbox> 
    </window> 

    <grid id="demoGrid" 
      model="@load(vm.languageContributions) @template((vm.displayEdit and  each.editingStatus) ? 'editable' : 'noneditable')"> 
     <auxhead> 
      <auxheader colspan="4" 
         label="Create Users"> 
       <hlayout> 
        <label /> 
        <button label="create" 
          onClick="@command('onAddNew', languageContributionStatus=each)" /> 
        <checkbox checked="@bind(vm.displayEdit)" 
           label="Enable Multiple Inline Row Editing"> 
        </checkbox> 
       </hlayout> 
      </auxheader> 
     </auxhead> 

     <columns> 
      <column width="160px">Email</column> 
      <column width="160px">Password</column> 
      <column width="160px">Confirm-Password</column> 
      <column width="160px">Role</column> 
      <column width="160px">Mnos</column> 
      <column width="110px" visible="@load(vm.displayEdit)">Edit</column> 
      <column width="110px" visible="@load(vm.displayEdit)">Remove</column> 
     </columns> 
     <rows> 
      <template name="editable"> 
       <row> 
        <textbox 
         value="@load(each.languageContribution.email) 
    @save(each.languageContribution.email, before='confirm')" /> <textbox  value="@load(each.languageContribution.password) @save(each.languageContribution.password,  before='confirm')"/> 
<textbox value="@load(each.languageContribution.password)   @save(each.languageContribution.confirmPass, before='confirm')"/> 
<textbox value="@load(each.languageContribution.role)  @save(each.languageContribution.role, before='confirm')"/> 

        <button id="MnoE" label="Mnos"/> 

        <window id="MnoEWin" title="Mnos" width="300px" visible="false"  minimizable="true" border='normal'> 
         <listbox id="listNE" model="@bind(each.mnoList)" > 
          <listhead> 
          <listheader label="Mnos" sort="auto" /> 
          </listhead> 
         </listbox> 
        </window> 

        <button 
         label="save" 
         onClick="@command('confirm', languageContributionStatus=each)"  /> 
        <button 
         label="cancel" 
         onClick="@command('changeEditableStatus2',  languageContributionStatus=each)" /> 


       </row> 
      </template> 


      <template name="noneditable"> 
       <row> 
        <label value="@load(each.languageContribution.email)" /> 
        <label value="@load(each.languageContribution.password)" /> 
        <label value="@load(each.languageContribution.password)" /> 
        <label value="@load(each.languageContribution.role)" /> 

        <button label="Mnos"> 
         <attribute name="onClick"><![CDATA[ 
     if ([email protected](each.languageContribution.email).isVisible()) 
      @load(each.languageContribution.email).setVisible(true); 
     @load(each.languageContribution.email).doHighlighted(); 
    ]]></attribute> 
        </button> 
        <button 
         label="edit" 
         onClick="@command('changeEditableStatus', languageContributionStatus=each)" /> 

        <window id="@load(each.languageContribution.email)" title="Mnos"  width="300px" visible="false" minimizable="true" border='normal'> 
         <listbox id="listNE" model="@bind(each.mnoList)" > 
          <listhead> 
           <listheader label="Mnos" sort="auto" /> 
          </listhead> 
         </listbox> 
        </window> 
       </row> 
      </template> 
     </rows> 


    </grid> 
</div> 
</zk> 

И у меня есть проблема, потому что в окне

   <button label="Mnos"> 
        <attribute name="onClick"><![CDATA[ 
    if ([email protected](each.languageContribution.email).isVisible()) 
     @load(each.languageContribution.email).setVisible(true); 
    @load(each.languageContribution.email).doHighlighted(); 
]]></attribute> 
       </button> 
       <button 
        label="edit" 
        onClick="@command('changeEditableStatus', languageContributionStatus=each)" /> 

       <window id="@load(each.languageContribution.email)" title="Mnos" width="300px" visible="false" minimizable="true" border='normal'> 
        <listbox id="listNE" model="@bind(each.mnoList)" > 
         <listhead> 
          <listheader label="Mnos" sort="auto" /> 
         </listhead> 
        </listbox> 
       </window> 

мне нужно, что когда нажмите на кнопку MnO окна:

<window id="@load(each.languageContribution.email)" 

Появляется, но у этого окна есть идентификатор для каждого пользователя, которого у меня есть, и o не знаю, как я могу это сделать, чтобы кнопка вызывала окно, как всплывал, как:

http://www.zkoss.org/zkdemo/effects/login_effect

кто-нибудь может мне помочь?

ответ

1

Прежде всего, это

<attribute name="onClick"><![CDATA[ 
     if ([email protected](each.languageContribution.email).isVisible()) 
      @load(each.languageContribution.email).setVisible(true); 
     @load(each.languageContribution.email).doHighlighted(); 
    ]]></attribute> 

не будет работать, потому @load не будут оцениваться в этом месте.
Если вы не знаете идентификатор, вы можете использовать структуру Зула, чтобы получить Component

<button label="Mnos" onClick="@command('openWindow', window = self.nextSibling)"> 

в виртуальной машине

@Command 
    public void openWindow(@BindingParam("window") Window win){ 
     if(!win.isVisible()){ 
      win.setVisible(true); 
      win.doHighlighted(); 
     } 
    } 
+0

Помогло ли это? Тогда, пожалуйста, воздержитесь или примите тень. Не так ли? Тогда напишите комментарий. –

+0

не мой вопрос :) +1 – Nikos

+0

Хорошо, но у меня есть проблема с этим ответом, если я хочу загрузить из окна переменную из другого окна, не работает – user2768380

Смежные вопросы