ASP.NET如何打印没有可访问标头的gridview?

时间:2016-03-10 18:44:30

标签: javascript c# asp.net gridview printing

我正在使用ASP.NET / C#Web项目。我有一个带iframe的菜单页面,它显示了一个动态的GridView元素,一个打印按钮和一个标题标签等等:

<script type="text/javascript">
    function abrirIfr(url) {
        $("#ifr1").attr("src", url);
    }
</script>

<iframe id="ifr1" src="" width="100%" height="550px" frameBorder="0" style="width: 100%; height: 480px"></iframe>

GridView和其他iframe的内容包含在另一个页面中:

    <div id="printTitle" runat="server">
        <asp:Label ID="lblTitulo" CssClass="text" runat="server" Text="" Font-Size="x-Large"></asp:Label>
    </div>

    <asp:UpdatePanel ID="updFamiliares" runat="server" class="center">
    <ContentTemplate>

    <div runat="server" id="divFamiliares" class="text-center">
         <asp:GridView HeaderStyle-CssClass="text-center" HeaderStyle-Wrap="false" RowStyle-Wrap="false" runat="server" ID="grdFamiliares" BorderStyle="None" UseAccessibleHeader="True" CssClass="table table-condensed" Horizontal-Align="Center" OnRowDataBound="grdFamiliares_RowDataBound" OnPreRender="grdFamiliares_PreRender" visible="False">             
         </asp:GridView>
    </div>

   <div style="text-align:center">
       <asp:Button ID="btnPrint" runat="server" Text="Imprimir" OnClientClick="imprimir();"/>
   </div>

   </ContentTemplate>
   </asp:UpdatePanel>

此外,GridView通过代码背后的“OnPreRender”事件包含辅助功能:

protected void grdFamiliares_PreRender(object sender, EventArgs e)
{
    if (grdFamiliares.Rows.Count > 0)
    {
        if (grdFamiliares.HeaderRow != null)
        {
            grdFamiliares.HeaderRow.TableSection = TableRowSection.TableHeader;
        }
        if (grdFamiliares.FooterRow != null)
        {
            grdFamiliares.FooterRow.TableSection = TableRowSection.TableFooter;
        }

    }
}

目前我正在尝试打印一些iframe的内容(只有动态GridView和标签元素)。

是否可以获得仅包含GridView和标签项的打印输出,隐藏可访问标题和打印按钮?打印后,我可以返回初始页面的布局并以简单的方式再次显示隐藏的元素吗?

提前感谢您的帮助!

0 个答案:

没有答案