1
我有一个使用Proc Report制作的ODS HTML表格,我需要将HTML类属性添加到表格行<tr>
,而不是每个单独的<td>
单元格。原因是这是TableSorter jQuery插件中的stickyRow选项所必需的,以防止它不能作为表的其余部分排序。是否可以使用计算语句向SAS Proc Report中的<tr>表格行添加类?
行(总和行)在计算语句中创建。
以下语句将行中的每个<td>
单元格设置为“静态”,但不会在该选项中需要的<tr>
中进行设置。
PROC REPORT
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:\Temp\demo.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;
你能给一个可重复的例子吗?我试图重现你正在做的事情,它并不是立即显示出你在计算语句中做什么。使用'SASHELP.CARS'或'CLASS'或其他什么东西来制作一些东西。 – Joe
@Joe我已经添加了一个例子。为了让示例按预期工作,我必须将表格的第一行
我不知道你是否可以使用CSS,并设置一个规则,说任何'tr'是父类的一个单元格,不管你的'td'最终是静态的吗? – Joe
回答
我做过类似的东西整合jQuery的数据表与当PROC报告。
从内存中,您需要编辑htmlcss和/或phtml标记集,修改table_foot和row事件,但我无法完全记得我做了什么。
我会尽力找到我的代码,并相应地更新答案。
来源
2017-08-11 14:36:14
相关问题