C# 在单独的页面上打印多个HTML表
我试图允许用户根据在GridView中选择的内容打印多个表。然后,它将选择更多数据(从隐藏的GridView中),并相应地打印所有表。我现在正在做的是获取页面底部的表,给它一个div id,然后使用jJavascript在新窗口中打开该div。但是,我希望能够一次打印多个表,甚至可能在单独的页面上打印它们。有没有什么特别的方法可以做到这一点?某种特殊功能 JavascriptC# 在单独的页面上打印多个HTML表,c#,asp.net,gridview,printing,html-table,C#,Asp.net,Gridview,Printing,Html Table,我试图允许用户根据在GridView中选择的内容打印多个表。然后,它将选择更多数据(从隐藏的GridView中),并相应地打印所有表。我现在正在做的是获取页面底部的表,给它一个div id,然后使用jJavascript在新窗口中打开该div。但是,我希望能够一次打印多个表,甚至可能在单独的页面上打印它们。有没有什么特别的方法可以做到这一点?某种特殊功能 Javascript <script type='text/javascript'> //<![CDATA[ fu
<script type='text/javascript'>
//<![CDATA[
function printContent() {
str = document.getElementById('main-content').innerHTML
newwin = window.open('', 'printwin', 'left=20,top=30,width=600,height=400')
newwin.document.write('<HTML>\n<HEAD>\n')
newwin.document.write('<TITLE>Print Page</TITLE>\n')
newwin.document.write('<script>\n')
newwin.document.write('function chkstate(){\n')
newwin.document.write('if(document.readyState=="complete"){\n')
newwin.document.write('window.close()\n')
newwin.document.write('}\n')
newwin.document.write('else{\n')
newwin.document.write('setTimeout("chkstate()",2000)\n')
newwin.document.write('}\n')
newwin.document.write('}\n')
newwin.document.write('function print_win(){\n')
newwin.document.write('window.print();\n')
newwin.document.write('chkstate();\n')
newwin.document.write('}\n')
newwin.document.write('<\/script>\n')
newwin.document.write('</HEAD>\n')
newwin.document.write('<BODY onload="print_win()">\n')
newwin.document.write(str)
newwin.document.write('</BODY>\n')
newwin.document.write('</HTML>\n')
newwin.document.close()
} //]]>
</script>
桌子本身
<div id = 'main-content' style = "overflow: auto; height:50%; width:100%" />
<table id="details">
<tr>
<td style="width: 100px;">Name: </td>
<td><%=fName %> <%=lName %></td>
</tr>
<tr>
<td>Address: </td>
<td><%=addr %></td>
</tr>
<tr>
<td>Address 2: </td>
<td><%=addr2 %></td>
</tr>
<tr>
<td>City: </td>
<td><%=city %></td>
</tr>
<tr>
<td>State: </td>
<td><%=state %></td>
</tr>
<tr>
<td>Zip: </td>
<td><%=zip %></td>
</tr>
<tr>
<td>Country: </td>
<td><%=country %></td>
</tr>
<tr>
<td>Email: </td>
<td><a href="mailto:<%=email %>"><%=email %></a></td>
</tr>
<tr>
<td>Phone: </td>
<td><%=phone %></td>
</tr>
<tr>
<td>CCType: </td>
<td><%=ccType %></td>
</tr>
<tr>
<td>CCNum: </td>
<td><%=ccNum %></td>
</tr>
<tr>
<td>CCExp: </td>
<td><%=ccExp %></td>
</tr>
<tr>
<td>Length: </td>
<td><%=length %></td>
</tr>
<tr>
<td>Delivery: </td>
<td><%=delivery %></td>
</tr>
<tr>
<td>Price: </td>
<td><%=price %></td>
</tr>
<tr>
<td>Source: </td>
<td><%=source %></td>
</tr>
<tr>
<td>Joined: </td>
<td><%=joined %></td>
</tr>
<tr>
<td>URL: </td>
<td><%=url %></td>
</tr>
<tr>
<td>orderResults</td>
<td><%=orderResults %></td>
</tr>
<tr>
<td>PubName: </td>
<td><%=pubName %></td>
</tr>
<tr>
<td>Source Code: </td>
<td><%=sourceCode %></td>
</tr>
<tr>
<td>Date/Time: </td>
<td><%=dt %></td>
</tr>
</table>
</div>
姓名:
地址:
地址2:
城市:
声明:
邮编:
国家:
电邮:
电话:
CCType:
CCNum:
CCExp:
长度:
交付:
价格:
资料来源:
加入:
网址:
订单结果
PubName:
源代码:
日期/时间:
要确保有分页符,请在要分页符的每个元素上使用分页符:始终
CSS样式 您可以使用CSS在单独的页面上打印内容:
<table style="page-break-before: always;">
...
</table>
...
这将在所有表之前插入分页符。您可能希望在第一个表之后将其应用于所有表
<table style="page-break-before: always;">
...
</table>