1

グリッドと印刷アイコンがあります.印刷アイコンをクリックすると、グリッドを印刷する必要があります.しかし、グリッド線が印刷出力に表示されません.

私は何をすべきか?

これが私のコードです

<div style="float: right" id="hide_div"><a href="javascript:void(0)" onclick="printPage('pnlMainHeader','div_print');"><img src="<?=$this->baseUrl('/images/icons/small/print.png')?>" title="Print" alt="Print" /></a></div>
<div class="clear10"></div>
<div class="pnlMainHeader" id="pnlMainHeader" style="display: none; ">
    //some xyz code
</div>
<div class="clear10"></div>
<div id="div_print">
    //grid code
    <?=$this->TemplateRoles?>
</div>

および.jsファイルのonclick printPageコード

function printPage(printpage1, printpage2)
{   
var hideDiv = document.getElementById('hide_div')
hideDiv.style.display = 'none';

var headstr = "<html><head><title></title></head><body>";
var footstr = "</body>";
var newstr1 = document.getElementById(printpage1).innerHTML;
var newstr2 = document.getElementById(printpage2).innerHTML;    
var oldstr = document.body.innerHTML;
document.body.innerHTML = headstr+newstr1+newstr2+footstr;
window.print();
document.body.innerHTML = oldstr;
location.reload();
return false;
}

私を助けてください..

4

1 に答える 1

0

ボーダーを強制的に印刷する別の css ファイルをヘッダーに追加するとどうなるでしょうか? このようなもの...

<link rel="stylesheet" type="text/css" href="print.css" media="print" />

次に、ファイル内で、そのクラスまたはセレクターを次のように使用できます。

.gridClass /*(or "td" or whatever it is called)*/ { border:1px solid #000;}

print.css で名前が付けられているものは、メディアを指定するため、印刷時にのみ表示されます。それが役立つことを願っています。

于 2012-08-29T23:46:01.443 に答える