是否可以<tr>使用计算语句将类添加到 SAS Proc 报表中的表行?



我有一个使用 Proc Report 制作的 ODS HTML 表,我需要在其中将 HTML 类属性添加到表行<tr>,而不是该行中的每个单独的<td>单元格。原因是在 TableSorter jQuery 插件中的 stickyRow 选项中需要这样做,以防止它不能像表的其余部分那样排序。

该行(总和行(是在计算语句中创建的。

以下语句将行中每个<td>单元格的类设置为"静态",但不设置选项中所需的<tr>

过程报告

compute BEFORE;
&variabel. = 'Totalt';
call define (_ROW_,"style","style={flyover='Totalt' FONT_WEIGHT=bold 
background=lightgrey class='static'}");
ENDCOMP;

HTML 解析为:

<tr>
<td title="Totalt" class="l static" style=" background-color: #d3d3d3; font-weight: bold;”>T</a></td>
<td title="Totalt" class="r static" style=" background-color: #d3d3d3; font-weight: bold;"> 44,737,223</td>
<td title="Totalt" class="r static" style=" background-color: #d3d3d3; font-weight: bold;"> 43,321,900</td>

有没有办法将整个<tr>行而不是每个单元格的类设置为"静态"?

以下是我需要它的样子:

<tr class="static">
<td title="Totalt" class="l" style=" background-color: #d3d3d3; font-weight: bold;”>T</a></td>
<td title="Totalt" class="r" style=" background-color: #d3d3d3; font-weight: bold;"> 44,737,223</td>
<td title="Totalt" class="r" style=" background-color: #d3d3d3; font-weight: bold;"> 43,321,900</td>

更新:这是一个可重现的示例:

ODS HTML FILE='H:Tempdemo.html';
ODS HTML TEXT="
<script src='https://code.jquery.com/jquery-3.2.1.min.js'></script>
<script src='https://cdnjs.cloudflare.com/ajax/libs/jquery.tablesorter/2.28.15/js/jquery.tablesorter.min.js'></script>
<script src='https://cdnjs.cloudflare.com/ajax/libs/jquery.tablesorter/2.28.15/js/jquery.tablesorter.widgets.js'></script>
<script src='https://cdnjs.cloudflare.com/ajax/libs/jquery.tablesorter/2.28.15/js/widgets/widget-staticRow.min.js'></script>";
ODS HTML TEXT="
<script>    
$(function(){
$(document).ready(function() { 
$('.table').tablesorter({theme: 'blue', widgets: ['stickyHeaders','zebra','staticRow']});
});
});
</script>";
PROC REPORT DATA=SASHELP.CLASS;
COLUMN SEX AGE N WEIGHT;
DEFINE sex /DISPLAY;
DEFINE age /DISPLAY;
DEFINE weight / ANALYSIS;
RBREAK BEFORE/SUMMARIZE;
COMPUTE before;
CALL DEFINE (_ROW_,"style","style={flyover='Total number and weight' FONT_WEIGHT=bold background=lightgrey class='static'}");
ENDCOMP;
RUN;
ODS HTML CLOSE;

我在将jQuery Datatables与PROC REPORT集成时也做了类似的事情。

从内存中,您需要编辑 htmlcss 和/或 phtml 标签集,修改table_foot和行事件,但我不记得我到底做了什么。

我将尝试找到我的代码,并相应地更新答案。

最新更新