我想指定Tapestry Grid组件分配给列中TH和TD标记的css类。这可能吗?
答案 0 :(得分:3)
答案很长!
如果Steve Enyon的回答中提到的类属性不够,你可以在网格通过mixin渲染后装饰DOM。我创建了一个GridDecorator mixin here,它可以根据单元格/行中的值来装饰TR
和TD
个元素。在我的示例中,我向DOM添加了onclick
和style
属性。您可以轻松调整mixin以使用GridHeaderCellDecorator修饰TH
元素,并在必要时添加class
属性。
我的2p,我认为网格早就应该进行大修了,像这样的定制应该比它们容易得多。
答案 1 :(得分:1)
简短的回答是否定的。
Tapestry的功能是根据它所代表的属性为每列提供一个独特的css类。然后,您可以按照自己的方式设置此类的样式。
例如,如果您有Grid
个User
个类:
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允许您将类的所有属性嵌入到另一个属性中 通过简单地将类名作为其属性之一
来实现