Avatar billede Kim Neesgaard Seniormester
08. juni 2006 - 20:25 Der er 12 kommentarer og
1 løsning

OnEditCommand-funktionalitet i .NET 2.0

I .NET 1 kunne man fra et datagrid kalde en funktion i koden med OnEditCommand="grid_EditCommand" og her manipulere med data som brugeren havde klikket på via et edit-link. Denne kommando accepteres ikke i version 2 - kan man ikke lave noget tilsvarende?
Avatar billede snepnet Nybegynder
08. juni 2006 - 20:53 #1
Hvis du bruger et datagrid findes den såmænd stadig, hvis du bruger et gridview hedder den OnRowCommand.
Mvh
Avatar billede Kim Neesgaard Seniormester
08. juni 2006 - 21:09 #2
Jeg bruger et gridview. Er OnRowCommand bundet til et editlink?
Avatar billede snepnet Nybegynder
09. juni 2006 - 16:14 #3
OnRowCommand er den generiske kommando, hvis det specifikt er edit du er ude efter, kan du abbonnere på hhv. RowUpdating og RowUpdated.... Bemærk at editering kan bringes til at fungere ved brug af datasource controls... Helt uden kode.
Mvh
Avatar billede Kim Neesgaard Seniormester
14. juni 2006 - 19:11 #4
Hvordan fanger man den så i koden? I 1.1 var det:

Protected Sub Grid_EditCommand(ByVal [source] As Object, ByVal e As DataGridCommandEventArgs)
        'Aflæsning af ID (første synlige kolonne) for den af brugeren valgte linie
        Dim ID As String = e.Item.Cells(4).Text
End Sub

men det accepteres ikke.
Avatar billede snepnet Nybegynder
15. juni 2006 - 13:44 #5
Du kan ikke bare copy/paste eventhandlers fra et datagrid scenarie og til et gridview scenarie.
For det første er det andre (og flere) event, og for det andet benyttes andre argumenter. Et DataGridCommandEventArgs har med et datagrid at gøre... Ikke et gridview.

Disse her kunne måske være noget:

Grid_RowEditing(ByVal souce As Object, ByVal e As GridViewEditEventArgs)
Grid_RowUpdated(ByVal souce As Object, ByVal e As GridViewUpdatedEventArgs)
Grid_RowUpdating(ByVal souce As Object, ByVal e As GridViewUpdateEventArgs)

Som du så kan få kørt ved at indsætte følgende på dit gridview (i aspx'en).

OnRowEditing="Grid_RowEditing"
OnRowUpdated="Grid_RowUpdated"
OnRowUpdating="Grid_RowUpdating"

Mvh
Avatar billede Kim Neesgaard Seniormester
16. juni 2006 - 23:31 #6
Hvordan får man fat i de enkelte værdier i griddet? Dim ID As String = e.Item.Cells(4).Text accepteres ikke og udfra mulighederne i intellisense kan jeg ikke finde noget?
Avatar billede snepnet Nybegynder
17. juni 2006 - 00:09 #7
I din rowcommand-handler har du et GridViewCommandEventArgs til rådighed. På det ligger der et CommandArgument som indeholder index'et for rækken kommandoen kommer fra.
Det kan du bruge til at finde rækken.
Mvh
Avatar billede snepnet Nybegynder
17. juni 2006 - 00:10 #8
Men det er lidt forskelligt fra argument til argument.
Mvh
Avatar billede Kim Neesgaard Seniormester
17. juni 2006 - 11:05 #9
Hvordan ville det skulle skrives i dette tilfælde, hvis jeg fx. har en ID kolonne i 3. position i griddet?
Avatar billede Kim Neesgaard Seniormester
18. juni 2006 - 11:54 #10
Jeg fandt denne syntaks på msdn:

Dim country As String = CustomersGridView.Rows(e.NewEditIndex).Cells(1).Text

(http://msdn2.microsoft.com/en-us/system.web.ui.webcontrols.gridviewediteventargs.aspx), men kan dog ikke få den til at give noget tilbage? Det er en Edit, Update, Cancel kolonne, jeg har i mit GridView.
Avatar billede Kim Neesgaard Seniormester
18. juni 2006 - 12:44 #11
Ha - min fejl! Jeg puttede værdien i en label, men kiggede på den forkerte label. Virker perfekt!

Giver du også et svar?
Avatar billede snepnet Nybegynder
28. juni 2006 - 23:04 #12
Undskyld ventetiden ... et stykke tid siden jeg har været online.
Mvh
Avatar billede Kim Neesgaard Seniormester
15. juli 2006 - 10:45 #13
Og jeg har været på ferie, men nu ok!!
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