Avatar billede Kim Neesgaard Seniormester
16. september 2006 - 16:20 Der er 8 kommentarer og
1 løsning

Updatefunktion i GridView virker ikke

Jeg har i et GridView lavet følgende:

<asp:GridView ID="gvListeNy" .....
OnRowEditing="RowEdit"
OnRowUpdated="RowUpdate"
OnRowCancelingEdit="RowCancelingEdit">

og følgende til at håndtere dem i codebehind:

Sub RowEdit(ByVal sender As Object, ByVal e As GridViewEditEventArgs)
  gvListeNy.EditIndex = e.NewEditIndex
  gvListeNy.DataBind()
End Sub

Sub RowUpdate(ByVal sender As Object, ByVal e As GridViewUpdatedEventArgs)
  lblInfo.Text = "xxx"
End Sub

Sub RowCancelingEdit(ByVal sender As Object, ByVal e As GridViewCancelEditEventArgs)
End Sub

Edit åbner fint nok og cancel virker også (gør jo dog ikke noget, men giver ikke fejl). Update derimod går øjeblikkelig i fejl, når man klikker på det:

The GridView 'gvListeNy' fired event RowUpdating which wasn't handled.

Hvorfor det?

Et par spørgsmål mere:

1/ Hvordan får man cancel til blot at lukke de åbnede felter og vise de oprindelige værdier?

2/ Hvis der er 3 felter i GridViewet og man kun ønsker at de 2 første skal kunne editeres - kan man gøre det?
Avatar billede neoman Novice
16. september 2006 - 17:11 #1
Den lyver vist ikke :-) Du har en OnRowUpdated handler, men det den vil ha' er en OnRowUpdating !

I din RowCancelingEdit skal du bare sige gvListNy.EditIndex=-1

Har ikke min VS lige ved hånden - jeg mener man kan stille på kolonner om de skal være editerbare eller ej, men du må ikke hænge mig op på det. Ellers kan man vel lave den om til en TemplateColumn, og i EditTemplate have en Label kontrol i stedet for TextBox
Avatar billede neoman Novice
16. september 2006 - 17:20 #2
Det er også muligt at du ved at indsætte 
     
e.Cancel = True

i din RowCancelingEdit  får den til at lukke- kan ikke huske hvodden jeg plejer at gøre selv:=) Prøv ad.
Avatar billede Kim Neesgaard Seniormester
16. september 2006 - 17:40 #3
Nå ja - det kan jeg godt se!

OnRowUpdating="RowUpdate"

Sub RowUpdate(ByVal sender As Object, ByVal e As GridViewUpdateEventArgs)
  lblInfo.Text = "xxx"
End Sub

virker!!

e.Cancel = True gør derimod ikke noget.
Avatar billede Kim Neesgaard Seniormester
16. september 2006 - 17:59 #4
gvListNy.EditIndex=-1 gør heller ikke noget.
Avatar billede Kim Neesgaard Seniormester
17. september 2006 - 10:41 #5
Jeg mangler jo bare en

gvListeNy.DataBind()

Så virker gvListNy.EditIndex=-1 perfekt.
Avatar billede neoman Novice
17. september 2006 - 16:09 #6
Det var da fint du fik det til at funke- fik du også has på ikke-editering af den 3. kolonne ?
Avatar billede Kim Neesgaard Seniormester
17. september 2006 - 19:59 #7
Nej - jeg kender ikke brugen af TemplateColumn og EditTemplate! Kan du give et eksempel?
Avatar billede Kim Neesgaard Seniormester
19. december 2010 - 16:18 #8
Har du et svar på denne, så jeg kan lukke?
Avatar billede Kim Neesgaard Seniormester
04. august 2011 - 18:25 #9
Har ikke modtaget svar, så jeg lukker selv.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester