【问题标题】:Grid + UiBinder : Setting row level stylesGrid + UiBinder:设置行级样式
【发布时间】:2023-07-04 02:52:01
【问题描述】:
...........
.........
<g:row styleName="OddNumberRow">
....
....
</g:row>
<g:row styleName="EvenNumberRow">
....
....
</g:row>
...........
...........

上述方法不起作用。换句话说,生成的 html 中的“tr”元素根本没有任何类名。一个备份选项是从 UiBinder 的构造函数(使用 getRowFormatter.addStyleName)将样式注入这些行,但是 我现在不想走那条路。(我想尝试保留进入 UiBinder java 类的代码仅用于事件处理目的。)

任何想法/指针将不胜感激。

注意:交叉发布在https://groups.google.com/forum/?fromgroups#!topic/google-web-toolkit/yGRUkpcpBzU

谢谢

【问题讨论】:

    标签: gwt uibinder


    【解决方案1】:

    你是对的,这不起作用。我也尝试将样式添加到 g:customCell,这也不起作用。

    我能想到的唯一方法是使用 SimplePanel 将您的内容包装在:

    <g:row>
      <g:customCell>
        <g:SimplePanel width="100%" height="100%" styleName="OddNumberRow">
          <g:Label>Content</g:Label>
        </g:SimplePanel>
      </g:customCell>
    </g:row>
    <g:row>
      <g:customCell>
        <g:SimplePanel width="100%" height="100%"  styleName="EvenNumberRow">
          <g:Label>Content</g:Label>
        </g:SimplePanel>
      </g:customCell>
    </g:row>
    

    【讨论】:

      【解决方案2】:

      直接在&lt;gwt:cell&gt;&lt;gwt:row&gt; 元素上理解styleName=foo 看起来像GWT has been updated

      您的示例代码现在应该符合您的预期:)

      【讨论】: