---
title: "GridView, HeaderRow"
type: "forum-thread"
url: "https://www.webforum.nu/amne/dotnet/157921-gridview-headerrow"
topic: ".NET"
topic_url: "https://www.webforum.nu/amne/dotnet"
author: "DavidB"
published: "2007-03-06T18:32:12.000Z"
updated: "2007-03-15T13:35:53.000Z"
replies: 4
views: 623
page: 1
pages: 1
language: "sv-SE"
site: "webForum — webforum.nu"
rights: "Upphovsrätten till varje inlägg tillhör dess författare."
attribution: "Citera som: webForum, https://www.webforum.nu/amne/dotnet/157921-gridview-headerrow"
---

# GridView, HeaderRow

## #1 — DavidB, 2007-03-06T18:32Z

Hej

Jag har en GridView där jag visar lite Data, GridViewen har en Header-rad och en Footer-rad, det jag nu vill göra är att lägga till ytterligare en Header-rad, ovanför den befintliga, går detta att göra?

Nu ser koden som genereras ut såhär:

```
<thead>
	<tr class="Header">
		<th scope="col">bla</th>
		<th scope="col">blabla</th>
		<th scope="col">asdas</th>
		<th scope="col">asd</th>
		<th scope="col">asdasd</th>
	</tr>
</thead>

<tfoot>
	<tr class="Footer">
		<td colspan="5">blabla</td>
	</tr>
</tfoot>

<tbody>
	Massa rader...
</tbody>
```

Men jag vill lägga till en extra HeaderRow så att det blir något liknande detta:

```
<thead>
	[b]<tr class="Header">
		<th scope="col" colspan="5">En till HeaderRow</th>
	</tr>[/b]
	<tr class="Header">
		<th scope="col">bla</th>
		<th scope="col">blabla</th>
		<th scope="col">asdas</th>
		<th scope="col">asd</th>
		<th scope="col">asdasd</th>
	</tr>
</thead>

<tfoot>
	<tr class="Footer">
		<td colspan="5">blabla</td>
	</tr>
</tfoot>

<tbody>
	Massa rader...
</tbody>
```

Permalänk: https://www.webforum.nu/p/157921

## #2 — emission, 2007-03-06T20:27Z

Det kan man göra, t.ex. genom att skapa en egen klass som ärver GridView och lägger till extra info i Render.

<http://www.asp.net/learn/dataaccess/tutorial27vb.aspx?tabid=63>

Permalänk: https://www.webforum.nu/p/1943200

## #3 — DavidB, 2007-03-07T19:14Z

OKej, läste lite och kom fram till att det borde fungera att köra en override på Render, jag har gjort följande kod med det vill ändå inte fungera.

Raden läggs till i GridView:en och allting, det vill dock inte renderas med den nya raden utan det är som det var innan.

```
protected override void Render(HtmlTextWriter writer)
{
    Table gridTable = ((Table)Posts.Controls[0]);
    
    TableCell header = new TableCell();
    header.ColumnSpan = Posts.Columns.Count;
    header.Text = "blabla";

    GridViewRow headrow = new GridViewRow(0, 0, DataControlRowType.Header, DataControlRowState.Normal);
    headrow.Cells.Add(header);

    gridTable.Rows.AddAt(0, headrow);

    base.Render(writer);
}
```

Permalänk: https://www.webforum.nu/p/1943431

## #4 — DavidB, 2007-03-15T13:07Z

Nu har jag försökt ytterligare utan något resultat, testade att lägga in koden ovan i exemplet som man kunde ladda ner från länken i Emission's inlägg, fungerade hur bra som helst.

Räknar man raden m.m i den tabell som skapas så är allt som det skall vara, verkar dock som att när koden skrivs ut så används den ursprungliga koden från GridView:en istället för tabellen där jag har gjort mina modifieringar.

Eftersom det inte är något fel i koden så måste det ju vara nåt annat, finns det någon inställning eller nåt någonstans man kan göra för att den skall köra det riktigt?

```
protected override void Render(HtmlTextWriter writer)
{
    Table gridTable = ((Table)Posts.Controls[0]);

    TableCell header = new TableCell();
    header.ColumnSpan = Posts.Columns.Count;
    header.Text = "blabla";

    GridViewRow headrow = new GridViewRow(0, 0, DataControlRowType.Header, DataControlRowState.Normal);
    headrow.Cells.Add(header);

    gridTable.Rows.AddAt(0, headrow);

    base.Render(writer);
}

protected void Page_Load(object sender, EventArgs e)
{
    DataTable dt = new DataTable();
    dt.Columns.Add(new DataColumn("Kolumn"));

    DataRow dr = dt.NewRow();
    dr["Kolumn"] = "Post1";
    dt.Rows.Add(dr);

    dr = dt.NewRow();
    dr["Kolumn"] = "Post1";
    dt.Rows.Add(dr);

    Posts.DataSource = dt;
    Posts.DataBind();
}
```

Permalänk: https://www.webforum.nu/p/1948270

## #5 — DavidB, 2007-03-15T13:35Z

Jag har hittat lösningen på problemet.

Har när jag gjort sidan använt mig utav [ASP.NET 2.0 CSS Friendly Control Adapters 1.0](http://www.asp.net/CSSAdapters/Default.aspx), denna modifierar säkerligen tabellen en del själv och detta har väl då gjort att man inte kunnat göra några egna modifieringar själv.

Permalänk: https://www.webforum.nu/p/1948283

---

Tråden på webben: https://www.webforum.nu/amne/dotnet/157921-gridview-headerrow
