私は 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);
}
});
そして結果:
「exportTypes」ID に対していくつかの css を使用して、エクスポート メニューを上部に配置することができました。私は私たちのチームでそれを行ったフロントエンドの担当者ではないので、他にもあるかもしれませんが、次のようなことができるようです:
div.framed-outer.guttered #exportTypes {
*top: -10px;
}
framed-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>