如何在每个打印页面上打印 GridView 的标题

Posted

技术标签:

【中文标题】如何在每个打印页面上打印 GridView 的标题【英文标题】:How to print header of GridView on each print page 【发布时间】:2012-03-08 05:36:03 【问题描述】:

如何在每个打印页面上打印GridView 的页面标题和页眉?

我想在每个页面上添加页面标题和GridView 标题。

我使用分页符将GridView 分成多个页面,但只有第一页带有标题,其他所有页面都没有标题和标题页。

对于动态GridView,我的代码使用AutoGenerateColumns="true"

【问题讨论】:

【参考方案1】:

把下面的放在头上

<style media="print">

                .MyCssClass thead
                
                    display: table-header-group;
                

</style>

现在把你的 gridview 放到一个 div 中,并给 div 一个类名 MyCssClass

现在添加 GridView1_RowDataBound 事件,并在该事件中调用以下函数,传递 Gridview 对象。

private void MakeGridViewPrinterFriendly(GridView gridView)
        
            if (gridView.Rows.Count > 0)
            
                gridView.UseAccessibleHeader = true;
                gridView.HeaderRow.TableSection = TableRowSection.TableHeader;
                //gridView.HeaderRow.Style["display"] = "table-header-group";
            
        

这适用于 IE 和 FF。未在 Chrome 中测试。

【讨论】:

+1 以获得简单的工作答案。我可以确认它在 IE 中有效,在 Chrome 中无效。

以上是关于如何在每个打印页面上打印 GridView 的标题的主要内容,如果未能解决你的问题,请参考以下文章

如何在 Chrome 中的每个打印页面上打印部分网页(标题)

asp.net如何实现 打印gridview中的数据,打印之前要预览设置打印页面,我使用vs2010,C#语言

html - 验证每个 div 将在单独的打印页面上

当我在 Chrome 和 IE 上打印时如何修复和重复每个页面底部的内容

如何在 ASP.NET MVC 视图中用 C# 打印出 GridView?

在 asp.net 中的多个页面上打印具有许多列标题的 Datagrid 表