---
title: "Köra funktion i BoundColumn"
type: "forum-thread"
url: "https://www.webforum.nu/amne/dotnet/86730-köra-funktion-i-boundcolumn"
topic: ".NET"
topic_url: "https://www.webforum.nu/amne/dotnet"
author: "Vide"
published: "2003-09-22T19:46:57.000Z"
updated: "2003-09-22T21:29:26.000Z"
replies: 7
views: 242
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/86730-köra-funktion-i-boundcolumn"
---

# Köra funktion i BoundColumn

## #1 — Vide, 2003-09-22T19:46Z

Detta har jag gjort:
Skapat en DataGrid och bundit den till en view.

Vad vill jag:
Jag vill köra en funktion som jag skapat som skall formatera texten i en av kolumnerna.

Hur gör jag detta?

Mvh, Vide

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

## #2 — renholm, 2003-09-22T20:08Z

För att lättast kunna köra funktioner från en datagrid använder du eventet ItemCommand.

```
private void dgDomains_ItemCommand(object source, System.Web.UI.WebControls.DataGridCommandEventArgs e)
{
	switch (e.CommandName)
	{
		case "Ditt commandname för din knapp":
			// Anropa funktion
			break;
	}
}
```

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

## #3 — Vide, 2003-09-22T20:25Z

Okej, och hur skulle ett anrop kunna se ut? Jag menar, hur kommer jag åt själva BoundColumn, måste jag skapa en referens till den också, eller kan jag komma åt den via DataGrid?

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

## #4 — renholm, 2003-09-22T20:29Z

Variabeln e innehåller informationen om den rad som man klickat på knappen i från. Med detta objekt kan du sedan ändra det mesta. Om du anger exakt eller i princip vad du vill göra så är det lättare att hitta en lösning

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

## #5 — Vide, 2003-09-22T20:34Z

Ah, oki.

Okej, skall förklara lite bättre:
Jag har en BoundColumn, i denna (alla poster) vill jag byta ut alla Environment.NewLine mot "\<br\>", detta med metoden:

```
public string HTMLNewLine(string strText)
{
  return strText.Replace(Environment.NewLine, "<br/>");
}
```

Detta skall alltså ske innan det presenteras, utan att klienten skall behöva trycka på en knapp.

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

## #6 — renholm, 2003-09-22T20:44Z

Aha, missuppfattade dig...

Då får du i stället använda ItemDataBound.

```
private void dgDomains_ItemDataBound(object source, System.Web.UI.WebControls.DataGridCommandEventArgs e)
{
	e.Item.Cells[kolumnnummer].Text = HTMLNewLine(((DittDataObject)e.Item.DataItem).DinEgenskap);
}
```

Något sådant, skrev den för hand så kan inte garantera att den funkar.

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

## #7 — Vide, 2003-09-22T21:08Z

Får inte till det, får felmeddelandet:
"Object reference not set to an instance of an object."

Kör nu koden:

```
public void dgGB_ItemDataBound(object source, System.Web.UI.WebControls.DataGridItemEventArgs e)
{
  clsGeneric gen = new clsGeneric();
  e.Item.Cells[ 1 ].Text = gen.HTMLNewLine( ( ( string )e.Item.DataItem ) );
}
```

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

## #8 — Vide, 2003-09-22T21:29Z

Nu har jag löst det.

Såhär ser funktionen ut:

```
public void dgGB_ItemDataBound(object source, System.Web.UI.WebControls.DataGridItemEventArgs e)
{
  clsGeneric gen = new clsGeneric();
  e.Item.Cells[ 2 ].Text = gen.HTMLNewLine( (string) e.Item.Cells[ 2 ].Text );
}
```

Tack för hjälpen renholm! :D

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

---

Tråden på webben: https://www.webforum.nu/amne/dotnet/86730-köra-funktion-i-boundcolumn
