---
title: "Exempel på uppdatera rad i gridview"
type: "forum-thread"
url: "https://www.webforum.nu/amne/dotnet/171326-exempel-på-uppdatera-rad-i-gridview"
topic: ".NET"
topic_url: "https://www.webforum.nu/amne/dotnet"
author: "cok"
published: "2008-05-08T14:10:05.000Z"
updated: "2008-05-24T08:31:50.000Z"
replies: 2
views: 615
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/171326-exempel-på-uppdatera-rad-i-gridview"
---

# Exempel på uppdatera rad i gridview

## #1 — cok, 2008-05-08T14:10Z

Tja,

Jag undrar om någon har ett bra och enkelt exemepl på hur man kan binda en lista av objekt till en gridview. Använda commandfield för att när man klickar på raden ska alla cellerna blir redigerbara (t ex att textboxar visas).

Redigeringarna ska sedan sparas i listan. Hittar ingent bra exemepel (vilket inte borde vara några problem).

Tacksam för hilfe.

Mr noob

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

## #2 — CatZ, 2008-05-17T20:27Z

Kommer inte ihåg hur det var i asp.net men i Windows Forms applications så ändras det i listan automatiskt om du ändrar på en rad i en DataGridView eftersom listan är databunden.

Annars har du ju eventen OnRowEdit osv i en GridView då du enkelt kan uppdatera din lista med nya värden om det inte fungerar på automatik.

Din lista borde ha samma index som din gridview eftersom båda använder 0-index

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

## #3 — hopparn, 2008-05-24T08:31Z

ett sätt...

jag använder mig oftast av detta sätt...

OnRowUpdating="RowUpdating" i gridview samt 

rowupdating i codebehind typ såhär...

```
protected override void RowUpdating(object sender, GridViewUpdateEventArgs e)
		{
			GridView grid = sender as GridView;
			if (grid != null)
			{
				// Get row
				GridViewRow row = grid.Rows[e.RowIndex];
				if (row != null)
				{
					// Get PK från DataKey
					int alternativesID = (int) grid.DataKeys[e.RowIndex]["Id"];

					// Get object
					WebClientFacade facade = new WebClientFacade();
					Alternatives c = facade.GetAlternativesById(alternativesID);

					// Update with new values
					c.Title = ((TextBox) row.FindControl("Title")).Text;
					c.Correct = ((CheckBox) row.FindControl("Correct")).Checked;

					try
					{
						// Save
						facade.SaveAlternatives(c);
						_messageBox.Invoke(MessageBox.Messages.AlternativesUpdated, MessageBox.MessageType.Info);

						// Rebind
						BindAlternativesGrid(QuestionID);
					}
					catch (Exception ex)
					{
						_messageBox.Invoke(ex);
					}
				}
			}

			// Execute standard tasks
			base.RowUpdating(sender, e);
		}
```

då använder jag som regel templateffields också, för jag vill inte vända buken upp på alla fält på raden utan bara de som ska editeras...

```
<asp:TemplateField HeaderText="Nummer">
								<ItemTemplate>
									<asp:Literal runat="server" Text='<%# Eval("Number") %>' />
								</ItemTemplate>
									</asp:TemplateField>

<asp:TemplateField HeaderText="Rätt svar">
							<ItemTemplate>
								<asp:CheckBox runat="server" ID="Correct" Checked='<%#Eval("correct") %>' Enabled="false" />
							</ItemTemplate>
							<EditItemTemplate>
								<asp:CheckBox runat="server" ID="Correct" Checked='<%#Eval("correct") %>' />
							</EditItemTemplate>
						</asp:TemplateField>
<asp:TemplateField HeaderText="Alternativ">
								<ItemTemplate>
									<asp:Literal runat="server" Text='<%# Eval("Title") %>' />
								</ItemTemplate>
								<EditItemTemplate>
									<asp:TextBox ID="Title" runat="server" Text='<%# Eval("Title") %>' />
								</EditItemTemplate>
							</asp:TemplateField>
```

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

---

Tråden på webben: https://www.webforum.nu/amne/dotnet/171326-exempel-på-uppdatera-rad-i-gridview
