在gridview中打印两个列标题

时间:2013-02-03 13:28:12

标签: asp.net .net vb.net

我有带有两列的标题的gridview,我希望在每个页面上显示。

标题是在以下函数中创建的:

Protected Sub grdOriginal_RowCreated(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.GridViewRowEventArgs) Handles grdOriginal.RowCreated

    If e.Row.RowType = DataControlRowType.Header Then

        Dim HeaderRow As GridViewRow = New GridViewRow(0, 0, DataControlRowType.Header, DataControlRowState.Insert)
        Dim Cell_Header As TableCell = New TableCell()
        Cell_Header = New TableCell()
        Cell_Header.Text = "Ознака табле"
        Cell_Header.HorizontalAlign = HorizontalAlign.Center
        Cell_Header.Width = "150"
        Cell_Header.RowSpan = 2
        Cell_Header.Font.Bold = True
        HeaderRow.Cells.Add(Cell_Header)

        Cell_Header = New TableCell()
        Cell_Header.Text = "Површине делова табли по процембеним разредима"
        Cell_Header.HorizontalAlign = HorizontalAlign.Center
        Cell_Header.Width = "370"
        Cell_Header.Font.Bold = True
        Cell_Header.ColumnSpan = 8
        HeaderRow.Cells.Add(Cell_Header)

        Cell_Header = New TableCell()
        Cell_Header.Text = "Укупна површина табле"
        Cell_Header.HorizontalAlign = HorizontalAlign.Center
        Cell_Header.Width = "70"
        Cell_Header.RowSpan = 2
        Cell_Header.Font.Bold = True
        HeaderRow.Cells.Add(Cell_Header)

        Cell_Header = New TableCell()
        Cell_Header.Text = "Укупна вредност табле"
        Cell_Header.HorizontalAlign = HorizontalAlign.Center
        Cell_Header.Width = "70"
        Cell_Header.RowSpan = 2
        Cell_Header.Font.Bold = True
        HeaderRow.Cells.Add(Cell_Header)

        Cell_Header = New TableCell()
        Cell_Header.Text = "Примедба"
        Cell_Header.HorizontalAlign = HorizontalAlign.Center
        Cell_Header.Width = "70"
        Cell_Header.RowSpan = 2
        Cell_Header.Font.Bold = True
        HeaderRow.Cells.Add(Cell_Header)

        e.Row.Cells(0).Visible = False
        e.Row.Cells(9).Visible = False
        e.Row.Cells(10).Visible = False
        e.Row.Cells(11).Visible = False
        'e.Row.Cells(4).Visible = False
        'e.Row.Cells(12).Visible = False
        'e.Row.Cells(13).Visible = False
        'e.Row.Cells(14).Visible = False
        grdOriginal.Controls(0).Controls.AddAt(0, HeaderRow)

    End If
End Sub

我尝试使用:How to print header of GridView on each print page,当我有一个标题列但当我尝试创建两个列标题时不起作用时,这个工作。

任何团体都知道如何做到这一点?

由于 我有gridview whith

1 个答案:

答案 0 :(得分:1)

THEAD是在每个打印页面上保留表格标题的元素。

您需要做的是在网格视图中将其设置为:

GridView1.HeaderRow.TableSection = TableRowSection.TableHeader;

其中GridView1是GridView的ID。这是not yet working on google chrome

参考:
Having Google Chrome repeat table headers on printed pages
Repeat table headers in print mode
How do I get Gridview to render THEAD?