Avatar billede hlt Juniormester
29. september 2010 - 09:50 Der er 4 kommentarer og
1 løsning

Fejl ved paging på gridview

hej,
Jeg sidder med et irriterende problem med paging på et gridview.
Jeg skal "bygge" en søgning op ved hjælp af 5 søgefelter. Som kan være udfyldt eller tomme, og så skal de ikke med i søgningen.
Det virker på den måde at jeg har lavet et gridview med en sqldatasource tilknyttet. Der er så lavet en selectcommand som indeholder min startsøgning.
Ved et tryk på søgeknappen ændrer jeg selectcommand'en på datasourcen og søgningen vises. Denne del virker fint nok. Og hvis søgningen har mere end min pagesize, så vises de forskellige sider i bunden. Alt sammen meget fint. Men når jeg så trykker på f.eks side 2, så bliver min søgning tom. Som om at den tager min startsøgning igen når den skal vise side 2.
Det skal lige nævnes at det er en access database.
Hvad gør jeg forkert?
Mvh
Henrik
Avatar billede jokkejensen Novice
29. september 2010 - 09:56 #1
Hvordan ser dine 5 søgefelter ud? Du binder ikke noget data til dem i page_load() vel ?

Har ofte fået et problem, hvis jeg ikke pakkede mine webcontrols databind, ind i en if(!Page.IsPostBack) da controllerne ellers vil blive initializeret på ny ved postback.

/J
Avatar billede hlt Juniormester
29. september 2010 - 10:17 #2
Nej de er som udgangspunkt tomme. Og når jeg udfylder dem og trykker på min søgeknap, vises den første side fint i søgningen. men ved tryk på side 2, bliver min søgning tom. men de udfyldte felter forbliver udfyldte.
Jeg har prøvet at sætte if not page.ispostback på min søgeknap, men så kommer der heller ikke den første side frem i søgningen.
Avatar billede jokkejensen Novice
29. september 2010 - 17:55 #3
nej page.ispostback skal kun benyttes i page_load, det er for at kunne differentiere mellem et .net postback fra en webcontrol, eller om det er et sideskift.

Som udgangspunkt bør dine webcontrols beholde deres værdi ved postback, med mindre du fortæller dem andet.

Kan du sende koden du har på knappen ? samt hele page_load.

Desuden markuppen fra aspx.
Avatar billede hlt Juniormester
29. september 2010 - 18:45 #4
Lige nu har jeg kun et check på om brugeren er logget ind, under page load. Jeg har så heller ikke noget check på om det er page.ispostback på knappen.
Her er koden der ligger på knappen
Dim searchstring As String = "SELECT [id],[createdby],[eduname],[contactname],[contactphone],[contactlocalno],[contactemail] from [edu] where id<>''"
If searchNameTextBox.Text <> "" Then
searchstring = searchstring & " AND [eduname] like '%"&      searchNameTextBox.Text & "%'"
End If
                     
objConn.Open()
objComm = New OleDbCommand(searchstring, objConn)
Dim rs As OleDbDataReader = objComm.ExecuteReader
searchGridView.DataSource = rs
searchGridView.DataBind()
objConn.Close()

Jeg bruger normalt parametre til SQL, men nu skal jeg lige have det til at virke først.
Avatar billede hlt Juniormester
19. januar 2011 - 22:18 #5
Jeg lukker
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
Kurser inden for grundlæggende programmering

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