2017-04-25 120 views
0

我想根据用户的复选框选择使某些列可见/不可见。它在ZK版本3中工作,但在升级到版本8后,它不起作用。请帮助我们解决此问题。以下是使用的zul中的代码。如何根据zkframework中复选框的选择来显示列

通过页面的默认/ onload事件只messageColumn将dispalyed但是当用户蜱的复选框全部四列会显示后,如果用户取消选中该复选框,然后再只messageColumn应显示

<

dialog title="process" id="logDialog" width="1000"> <grid id="logGrid" sclass="logGrid" height="600px"> 
    <columns sizable="true"> 
    <column id="messagecolumn" label="Message" width="120px" align="center"/> <column id="datacolumn" label="Data" width="120px" align="center" visble="false"/> <column id="idcolumn" label="ID" width="120px" align="center" visble="false"/> <column id="infocolumn" label="Information" width="120px" align="center" visble="false"/> </columns> 

    </grid> 

    <hbox align="center"> <checkbox lable="tick" oncheck="showAllColumns(self.checked)"/> <seperator spacing="30px" orient="vertical"/> <button label="cancel" onclick="cancel()"/> </hbox> 
    </dialog> 

    <zscript> 
    void showAllColumns(checked) 
    { 
    datacolumn.visible=checked; 
    idcolumn.visible=checked; 
    infocolumn.visible=checked; 
    } 
    </zscript> 

在此先感谢!

回答

0

我发现你的代码中有这么多的语法错误,像下面这样改变你的代码,我已经测试过了。

<grid> 
     <columns sizable="true"> 
      <column id="messagecolumn" label="Message" width="120px" 
       align="center" /> 
      <column id="datacolumn" label="Data" width="120px" 
       align="center" visible="false" /> 
      <column id="idcolumn" label="ID" width="120px" 
       align="center" visible="false" /> 
      <column id="infocolumn" label="Information" 
       width="120px" align="center" visible="false" /> 
     </columns> 
    </grid> 

    <hbox align="center"> 
     <checkbox label="tick" 
      onCheck="showAllColumns(self.checked)" /> 
     <separator spacing="30px" orient="vertical" /> 
     <button label="cancel" onClick="cancel()" /> 
    </hbox> 

    <zscript> 
     void showAllColumns(boolean checked) { 
      datacolumn.visible=checked; 
      idcolumn.visible=checked; 
      infocolumn.visible=checked; 
     } 
    </zscript> 
相关问题