Avatar billede krestenbanke Nybegynder
15. maj 2010 - 17:50 Der er 6 kommentarer

GridView Bind problem

Hej alle,

Jeg binder et gridview med en dataTable ud fra en LINQ query.

Når brugeren klikker rundt på min siden, sættes nogle inputs til query'en, og gridview'et bindes igen.

Her kommer så problemet:
Hvis gridviewet indeholder rækker allerede ved Page_Init, er der ingen problemer, ved at lave "select" når man klikker på gridview'et.
- Men hvis gridviewet ikke indeholder rækker/data på Page_Init, men først indeholder rækker efter at brugeren har sat nogle inputs, så virker "select" ikke. Det er som om, at gridview'et ikke fatter, at det faktisk indeholder data - selvom data vises! (Gridview1.Rows.Count er 0, skønt der er rækker i gridview'et..)

Hvad kan jeg gøre for at få gridviewet til at fatte, at det indeholder data, når det bindes efter Page_Init?

Håber I kan hjælpe!
Avatar billede janmanden Nybegynder
15. maj 2010 - 18:07 #1
Hvad bruger du så DataSourceID eller DataBind?
Avatar billede krestenbanke Nybegynder
15. maj 2010 - 18:17 #2
Jeg bruger DataBind.
Avatar billede janmanden Nybegynder
15. maj 2010 - 18:26 #3
Når du bruger databind skal du jo lige huske på, at der ikke er nogen indbygget sortering, opdatering, slet og sideskift, da det baseret på events som du skal holde styr på. Måske er der nogle events du har overset eller måske skulle du prøve at bruge DataSourceID i stedet.
Avatar billede krestenbanke Nybegynder
15. maj 2010 - 20:20 #4
Jep - har både sorting og paging defineret som metode. Det hele virker fint. Problemet er blot, når der skal vælges noget fra en specifik række - da der så ikke er nogen rækker i gridview'et - altså, der er rækker at se, men de kan ikke tilgåes...
Avatar billede winners79 Nybegynder
25. maj 2010 - 12:31 #5
I hvilket Page.event foretager du din databind? lyder lidt som om at dit gridview bliver opbygget for sent i forhold til den select event der bliver affyret.

Du bør nok gemme dine query valg i viewstate/session og databind dit gridview ud fra disse så tidligt som muligt, f. eks i PreInit.
Avatar billede krestenbanke Nybegynder
30. maj 2010 - 11:49 #6
Hej winners79, tak for kommentaren!

Jeg laver et databind ved Page_Init. Derefter laver jeg et databind, når der klikkes på forskellige controller.

Du skriver:
"Du bør nok gemme dine query valg i viewstate/session og databind dit gridview ud fra disse så tidligt som muligt, f. eks i PreInit. "

Kan du give et "konceptuelt eksempel"? Det hjælper vel ikke, hvis jeg blot binder ved PreInit i stedet for Init, vel?
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

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



IT-JOB

Unik System Design A/S

Head of Internal IT

Netcompany A/S

IT Manager

Unik System Design A/S

Teamleder til Hosting og Support