我有一个dataTable,当它通过正常(非ajax)请求/响应周期呈现时,可以按需运行。
我定义了一种样式,即将背景颜色和填充应用于表格的第一行:
.myTable tr:first-child td {
padding-top: 25px;
background-color: yellow;
}
正如我上面提到的,当通过典型的请求/响应加载时,填充和背景颜色看起来很完美。但是,有一些操作可能导致通过AJAX重新呈现此表。当发生这种情况时,表格被正确重新加载(它的数据),但不重新应用上述样式。
由于在使用dataTable组件时无法专门为第一行分配CSS类。所以,我使用上面的CSS选择器来获取第一行。有没有人曾经处理过这样的问题?我唯一的选择是尝试在ALL的oncomplete中使用jQuery ...这可能是许多不同的地方......可以触发表重新呈现的动作?
我的问题是我试图避免使用richfaces表组件以提高速度,我需要让表可以滚动。所以,我使用浏览器特定的CSS解决方案来srcoll表体并保持标头静态。主要的问题是,我需要表格的第一行有一个顶部填充值,将其推到表格标题的固定位置下方。
答案 0 :(得分:2)
由于您只重新渲染dataTable,因此会应用表的默认样式。
您还必须使用dataTable重新呈现样式代码,这可能会解决您的问题。
尝试下面的代码并重新渲染outputPanel而不是dataTable:
<a4j:outputPanel>
<h:dataTable>
//Data
</h:dataTable>
<style>
.myTable tr:first-child td {
padding-top: 25px;
background-color: yellow;
}
</style>
</a4j:outputPanel>