Tapestry:设置Grid列的css类

时间:2013-05-28 16:30:00

标签: css grid tapestry

我想指定Tapestry Grid组件分配给列中TH和TD标记的css类。这可能吗?

2 个答案:

答案 0 :(得分:3)

答案很长!

如果Steve Enyon的回答中提到的类属性不够,你可以在网格通过mixin渲染后装饰DOM。我创建了一个GridDecorator mixin here,它可以根据单元格/行中的值来装饰TRTD个元素。在我的示例中,我向DOM添加了onclickstyle属性。您可以轻松调整mixin以使用GridHeaderCellDecorator修饰TH元素,并在必要时添加class属性。

我的2p,我认为网格早就应该进行大修了,像这样的定制应该比它们容易得多。

答案 1 :(得分:1)

简短的回答是否定的。

Tapestry的功能是根据它所代表的属性为每列提供一个独特的css类。然后,您可以按照自己的方式设置此类的样式。

例如,如果您有GridUser个类:

public class User {
    public String firstName;
    public String lastName;
}
<t:grid source="users" />

Tapestry将生成类似于以下的HTML:

<table>
    <thead>
        <tr>
            <th class="firstName">First Name</th>
            <th class="lastName">Last Name</th>
        </tr>
    </thead>
    <tbody>
        ...
        <tr>
            <td class="firstName">Traci</td>
            <td class="lastName">Lords</td>
        </tr>
        ...
    </tbody>
</table>

有关详细信息,请参阅Grid API page底部的CSS部分。

如果你有一些常见的样式,你想要应用于特定列,而你恰好使用less,那么你可以使用less mixins(不要与Tapestry mixins混淆) 。来自Less网站:

  

Mixins允许您将类的所有属性嵌入到另一个属性中   通过简单地将类名作为其属性之一

来实现