打印时保留gridView中的格式?

时间:2017-06-23 15:41:24

标签: javascript css asp.net

我有一个在我的页面上运行良好的gridView表。但是,我需要有一个打印选项。使用我到目前为止的代码,我在主页的gridview中设置的格式在新窗口打开时被删除。 (奇怪的是,当它实际打印时 - 删除更多格式化)。

我会尝试包含目前为止所有相关的代码:

的JavaScript

function CallPrint(strid) {
  var prtContent = document.getElementById(strid);
  var strOldOne = prtContent.innerHTML;
  var WinPrint = window.open(
    "",
    "",
    "scrollbars=yes,width=950,height=700,left=0,top=0"
  );
  WinPrint.document.write(prtContent.innerHTML);
  WinPrint.document.close();
  WinPrint.focus();
  WinPrint.print();
  WinPrint.close();
  prtContent.innerHTML = strOldOne;
}

GridView的html / asp

<div id="panelGv" runat="server">
  <asp:GridView ID="prodGv" BorderWidth="1px" runat="server" AutoGenerateColumns="False" DataKeyNames="RECORD_NUM" DataSourceID="prodDataSource" CssClass="table table-hover table-bordered " Width="100%" Height="100%" HorizontalAlign="Center" CaptionAlign="Top"
    CellPadding="2" ShowHeaderWhenEmpty="True" AllowPaging="True" BackColor="White" BorderColor="#999999" BorderStyle="Solid" Font-Size="15pt">
    <EditRowStyle HorizontalAlign="Center" VerticalAlign="Middle" Font-Italic="False" Font-Size="19pt" Wrap="True" BorderColor="#999999" />
    <EmptyDataRowStyle BorderColor="#999999" />
    <FooterStyle BackColor="White" ForeColor="#000066" BorderColor="#999999" />
    <HeaderStyle CssClass="HeaderStyle" HorizontalAlign="Center" VerticalAlign="Middle" BackColor="WhiteSmoke" Font-Bold="False" Font-Size="15pt" Height="45px" Wrap="True" Font-Italic="False" ForeColor="Black" BorderColor="#999999" />
    <PagerSettings Visible="False" />
    <PagerStyle BackColor="White" ForeColor="#000066" HorizontalAlign="Left" />
    <RowStyle HorizontalAlign="Center" VerticalAlign="Middle" ForeColor="#000066" BorderColor="#999999" />
    <%-- columns etc --%>
  </asp:GridView>
</div>

打印按钮

<asp:button ID="btnPrint" OnClientClick="javascript:CallPrint('panelGv');"
Runat="Server" CssClass="btn btn-default" BackColor="WhiteSmoke" Font-Size="14pt" Height="40px" Text="Print" Width="120px" />

我的问题是,如何才能让表格准确打印出主页上的显示方式?打开一个新窗口时,颜色会被删除,但它仍然看起来不错。但是,打印预览显示一个完全未格式化的表格 - 并且拉伸以适合整个页面,使其看起来很荒谬。

非常感谢你。如果我能进一步澄清请告诉我,谢谢。

0 个答案:

没有答案