---
title: "Varför sorterar inte DataGriden?"
type: "forum-thread"
url: "https://www.webforum.nu/amne/dotnet/135365-varför-sorterar-inte-datagriden"
topic: ".NET"
topic_url: "https://www.webforum.nu/amne/dotnet"
author: "DavidB"
published: "2005-10-06T15:27:29.000Z"
updated: "2005-10-06T17:11:21.000Z"
replies: 1
views: 215
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/135365-varför-sorterar-inte-datagriden"
---

# Varför sorterar inte DataGriden?

## #1 — DavidB, 2005-10-06T15:27Z

Tjena

Jag har fått ett litet problem med pagningen i en DataGrid. Jag skapar i min code-behind
två BoundColumner som jag lägger kopplar till datan i en datatable som hämtas från en databas.

När sidan laddas så ser man de aktuella posterna som skall visas, klickar man sedan på någon av siffrorna
för att byta sida på datagriden så försvinner hela datagriden. Ändrar man dock AutoGenerateColumns från false till true
så visas alla columner även mina två boundcolumner.

Kör jag med AutoGenerateColumns false så visas som sagt ingenting samt att funktionen pageGrid inte ens körs, har kollat
dett genom att lägga till en Response.Write i denna.

Nån som ser vad som kan vara fel? Känns som att det har att göra med att BoundColumnerna på någon sätt inte skapas
när AutoGenerateColumns är satt till false, de visas dock om det är satt till true.

Koden på .aspx sidan ser ut såhär:

```
<asp:datagrid	id="show"
		pagesize="10"
		runat="server" />
```

I min code-behind har jag följande kod:

```
protected DataGrid show;
		
private void Page_Load(object sender, System.EventArgs e){
	BoundColumn bc = new BoundColumn();
	bc.DataField = "name";
	bc.HeaderText = "Namn:";
	show.Columns.Add(bc);

	bc = new BoundColumn();
	bc.DataField = "id";
	bc.HeaderText = "ID:";
	show.Columns.Add(bc);	
	
	int antal = // innehåller antalet poster som finns i databasen;
	
	show.AutoGenerateColumns = false;
	show.VirtualItemCount = antal;
	show.AllowPaging = true;
	show.AllowCustomPaging = true;
	show.PagerStyle.Mode = PagerMode.NumericPages;
	show.PageIndexChanged += new DataGridPageChangedEventHandler(pageGrid);

	if(!Page.IsPostBack){
		DataTable dt = // en datatable som kommer från databasen;
		show.DataSource = dt;
		show.DataBind();
	}
}

private void pageGrid(object sender, DataGridPageChangedEventArgs e){
	show.CurrentPageIndex = e.NewPageIndex;
	DataTable dt = // en "uppdaterad" datatable som hämtar det aktuella posterna för den aktuella sidan;
	show.DataSource = dt;
	show.DataBind();
}
```

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

## #2 — emission, 2005-10-06T17:11Z

Du måste skapa kolumnerna innan datagridden läser in post-data, vilket i princip innebär att du måste lägga kolumnskapandet i OnInit.

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

---

Tråden på webben: https://www.webforum.nu/amne/dotnet/135365-varför-sorterar-inte-datagriden
