【问题标题】:Printing a header in all paged and a gridview with true paging在所有分页中打印标题和具有真正分页的网格视图
【发布时间】:2016-09-05 10:35:27
【问题描述】:

我有一个这样的标题 div:

 <div id="header" style="width:100%; padding: 6px; margin-right: 20px; border-top-style: dotted; border-color: inherit; border-width: 0.2px; font-family: 'B Yekan'; font-size: 10pt;">
        <p style="display:block;float:right">
            <a style="right:0; font-size: 14pt; margin-right: 10px">
                <asp:Label ID="lblMasir" runat="server" Text=""></asp:Label>
            </a>
        </p>
    </div>

在一个 div 下的一个 div 中的网格视图为:

<div style="float: right; direction: rtl">
                <asp:GridView Font-Names="B Nazanin" Font-Size="10pt" ID="GridView1" AllowPaging="false" AutoGenerateColumns="true" runat="server" CellPadding="6" BorderStyle="Double" OnDataBound="GridView1_DataBound" OnRowCreated="GridView1_RowCreated">
                    <HeaderStyle Font-Bold="True" Font-Size="9pt" />
                </asp:GridView>
            </div>

这两个潜水位于另一个容器 div 中,标题宽度与 gridview 宽度相同:

<div style="position:absolute">
    <div id="header" …>
        …
    </div>
    <br />
    <div id="griddiv…>
        …
    </div>
</div>

那么我如何打印这个页面,该页面在所有打印页面中重复作为 gridview 的标题和 gridview 打印的真正分页。 我知道如何使用分页打印单个 girdview,但我不知道如何在所有页面中使用顶部的标题来执行此操作。 问候!

【问题讨论】:

  • 尝试使用 itextsharp 在 pdf 中隐藏所有内容...您不必保存物理文件
  • 您可以向 GridView 添加额外的标题行:stackoverflow.com/questions/36716084/…
  • @fnostro 我正在使用 C#!此链接适用于 vb。你知道 c# 的任何其他来源吗?
  • 将其转换为 C# 应该是一件简单的事情。只需以 C# 风格定义变量和参数,在行尾添加分号,并在 VB 使用隐式转换的地方显式转换。稍后我会在这里发布一个 C# 答案

标签: html asp.net gridview printing paging


【解决方案1】:

my VB answer的C#版本:

    private void gvExpertRateHistory_PreRender(Object sender, System.EventArgs e)
    {
        GridView gv = (GridView)sender;
        Table InnerTable = (Table)gv.Controls[0];

        if (gv.HeaderRow != null && InnerTable != null)
        {
            GridViewRow hr;

            hr = new GridViewRow(0, -1, DataControlRowType.Header, DataControlRowState.Normal);

            hr.Cells.Add(NewCell(1, String.Empty, gv, Alignment:HorizontalAlign.Left));
            hr.Cells.Add(NewCell(2, "Requested On", gv, Alignment: HorizontalAlign.Left));
            hr.Cells.Add(NewCell(4, "Review Rates", gv, "WhiteBorderLB"));
            hr.Cells.Add(NewCell(6, "Court Rates", gv, "WhiteBorderLB"));
            hr.Cells.Add(NewCell(6, "Deposition Rates", gv, "WhiteBorderLB"));
            hr.Cells.Add(NewCell(4, "IME Rates", gv, "WhiteBorderLB"));
            InnerTable.Rows.AddAt(0, hr);

            hr = new GridViewRow(0, -1, DataControlRowType.Header, DataControlRowState.Normal);

            hr.Cells.Add(NewCell(1, "Expert", gv, Alignment: HorizontalAlign.Left));
            hr.Cells.Add(NewCell(2, "Requested By", gv, Alignment: HorizontalAlign.Left));
            hr.Cells.Add(NewCell(2, "Hourly", gv, "WhiteBorderLB"));
            hr.Cells.Add(NewCell(2, "Flat", gv, "WhiteBorderLB"));
            hr.Cells.Add(NewCell(2, "Hourly", gv, "WhiteBorderLB"));
            hr.Cells.Add(NewCell(2, "Daily", gv, "WhiteBorderLB"));
            hr.Cells.Add(NewCell(2, "Half-Day", gv, "WhiteBorderLB"));
            hr.Cells.Add(NewCell(2, "Hourly", gv, "WhiteBorderLB"));
            hr.Cells.Add(NewCell(2, "Daily", gv, "WhiteBorderLB"));
            hr.Cells.Add(NewCell(2, "Half-Day", gv, "WhiteBorderLB"));
            hr.Cells.Add(NewCell(2, "Hourly", gv, "WhiteBorderLB"));
            hr.Cells.Add(NewCell(2, "Flat", gv, "WhiteBorderLB"));
            InnerTable.Rows.AddAt(1, hr);
        }
    }

    private TableHeaderCell NewCell(int colspan,
                                    string text,
                                    GridView gv,
                                    string CssClass = "",
                                    HorizontalAlign Alignment = HorizontalAlign.Center)
    {

        TableHeaderCell thc = new TableHeaderCell();

        thc.HorizontalAlign = Alignment;
        thc.ColumnSpan = colspan;
        thc.Text = text;
        thc.BackColor = gv.HeaderRow.BackColor;
        thc.ForeColor = gv.HeaderRow.ForeColor;
        thc.Font.Bold = true;
        thc.CssClass = CssClass;

        return thc;

    }

【讨论】:

    猜你喜欢
    • 2018-02-22
    • 1970-01-01
    • 2019-03-06
    • 1970-01-01
    • 2017-01-08
    • 2016-04-05
    • 2011-06-19
    • 1970-01-01
    相关资源
    最近更新 更多