【问题标题】:GWT - show/hide <tr> in a HTMLPanelGWT - 在 HTMLPanel 中显示/隐藏 <tr>
【发布时间】:2012-07-19 04:11:30
【问题描述】:

我有一个带有&lt;table&gt; 的 HTMLPanel。 我想在 java 代码中显示/隐藏 &lt;tr&gt;

我试图将&lt;tr&gt; 放在其他 HTMLPanel 中并隐藏面板。像这样的:

...
<tr>
  ...
</tr>
<g:HTMLPanel ui:field="name">
    <tr>
    ...
    </tr>
</g:HTMLPanel>
<tr>
  ...
</tr>

代码:

name.setVisible(false);

它可以工作,但它会导致演示中出现奇怪的行为。

我怎么能这样做???

非常感谢!!!

【问题讨论】:

    标签: gwt html-table


    【解决方案1】:

    使用@UiField TreeRowElement rowName,HTML 为...&lt;tr ui:field="rowName"&gt;...&lt;/tr&gt;...。然后使用 TreeRowElement 显示/隐藏该行。

    【讨论】:

    • 嗨,我猜你的意思是 TableRowElement,在这种情况下,我如何显示/隐藏元素?它没有 setVisible 方法...非常感谢
    • 试试rowName.getStyle().setDisplay(Display.NONE);
    • 嗨,Tassos,你是对的!,我可以发誓我找到了 getStyle 方法......无论如何,谢谢!!!!
    【解决方案2】:

    扩展@Tassos 的答案:

    Java

    @UiField TableRowElement expanded;
    
    boolean exp=false;
    
        expandme.addClickHandler(new ClickHandler() {
            public void onClick(ClickEvent clickevent) {
                if(exp){
                    expanded.getStyle().setDisplay(Display.NONE);
                } else {
                    expanded.getStyle().clearDisplay(); //took a little while to find.
                }
                exp = !exp;
            }
        });
    

    HTML:

    <tr ui:field="expanded">   
    

    expandme 是可以附加点击处理程序的任何元素,(例如 Anchor、Button 等)

    【讨论】:

    • clearDisplay() 很有用,否则表格行在隐藏/显示后不记得其初始宽度(再次将其设置为 BLOCK 或 INLINE 不起作用)。谢谢!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2010-12-14
    • 1970-01-01
    • 2011-02-04
    • 1970-01-01
    • 1970-01-01
    • 2012-02-14
    • 1970-01-01
    相关资源
    最近更新 更多