我正在使用 displaytag 标签库,到目前为止,它的效果非常好。但是,我没有看到将导出横幅放在表格顶部而不是底部的简单选项或方法。如何实现?
谢谢,罗伊
我正在使用 displaytag 标签库,到目前为止,它的效果非常好。但是,我没有看到将导出横幅放在表格顶部而不是底部的简单选项或方法。如何实现?
谢谢,罗伊
我和你有同样的问题。我使用 jquery 解决了这样的问题:
我的 displaytag.properties :
export.banner=<div id="export" class="exportlinks">Exporter : {0}</div>
我在 JSP 中使用 DisplayTag 创建的表:
<div id="datagrid">
<div class="datagrid">
<display:table name="sessionScope.resultats" sort="list" defaultsort="2" pagesize="<%=nombreLignes %>" export="true">
<display:column property="code" title="<%=codeLabel %>" sortable="true" href="javascript:edition(document.forms[0], '#')" paramId="code" paramProperty="code" style="width:20%;" />
<display:column property="nom" title="<%=nomLabel %>" sortable="true" href="javascript:edition(document.forms[0], '#')" paramId="code" paramProperty="code" style="width:80%;" />
<display:setProperty name="export.pdf" value="true" />
<display:setProperty name="export.csv.filename" value="${nomExport }.csv"/>
<display:setProperty name="export.pdf.filename" value="${nomExport }.pdf"/>
</display:table>
</div>
</div>
jquery 中的一个函数:
$(function()
{
var export1 = document.getElementById('export');
if(export1 != null)
{
// 2 duplications
var export2 = export1.cloneNode(true);
var export3 = export1.cloneNode(true);
var datagrid = document.getElementById('datagrid');
// Placement on top
datagrid.insertBefore(export2, datagrid.firstChild);
// Placement on bottom
datagrid.parentNode.insertBefore(export3, datagrid.nextSibling);
// Delete node generated by DisplayTag
export1.parentNode.removeChild(export1);
}
});
结果:
请添加以下代码:
$(function()
{
// Placement on top.#row is display tag id
$( ".exportlinks" ).insertBefore( "#row" );
});
我们已经能够使用一些针对“exportTypes”id 的 css 将导出菜单放在顶部。我不是在我们团队中做这件事的前端人员,所以可能还有更多,但看起来你可以做类似的事情:
div.framed-outer.guttered #exportTypes {
*top: -10px;
}
frame-outer 和 guttered 只是我们使用的桌子周围的一些 div id。
在我们定义的 displaytag.properties 中:
export.banner=<div id="exportTypes"><span class="label">Export: </span>{0}</div>
同样,这可能不是故事的全部,但这就是我可以看到在我们的项目中可以做到的。希望这个对你有帮助。
我知道这已经 10 年了,但以防万一有人去寻找一个简单且有效的答案,以下对我有用。我注意到 displaytag 将所有内容都放在了 TBODY 中,所以我决定尝试将 Export 包装在 THEAD 中,果然它起作用了。
我在 displaytag.properties 文件中放置了以下内容:
export.banner=<thead><tr><td><div class="exportlinks">Download: {0}</div></td></tr></thead>