Avatar billede anhansen Nybegynder
20. januar 2004 - 14:30 Der er 11 kommentarer og
1 løsning

Behold valg efter sortering

Hej.

Jeg har et datagrid hvor jeg har en templatecolumn med chkbokse i. Mit problem er at hvis man vælger/fravælger nogle forskellige checkboxe, og derefter sorterer, så er valgene i checkboksene væk.
Det sker fordi, jeg henter data ud af db'en igen, med en SORT på sql, der svarer til den kolonne der skal sorteres.
Er der nogle der har en smart ide til hvordan jeg gemmer valgene, således jeg kan påføre dem igen, når jeg har hentet den sorterede liste frem?
Avatar billede thor.ostergaard Nybegynder
20. januar 2004 - 14:39 #1
Jeg ville nok overveje at kigge på at bruge dataview til at sortere i stedet for at bruge SQL - så kan .NET selv styre sagerne. Jeg har et eksempel liggende her http://www.kursusmaterialer.dk/ASP.NET%20II/Dataset%20objektet/Sortering.aspx, som du måske kan bruge.
Avatar billede mufoxe Nybegynder
20. januar 2004 - 14:41 #2
Hmmm ... Du kan prøve noget i retning af:

Dim dataView As New DataView(myDataTable)
dataView.Sort = "MyColumn DESC"

myControl.DataSource = dataView
myControl.DataBind()

Ikke helt sikker på om det virker. Hvis det ikke virker, bliver du nødt til at løbe din kontrol igennem ved resort og gennem en liste over de element, som er "checked". Når du efterfølgende rebinder, løber du igen listen igennem og checker.
Avatar billede nielsbrinch Nybegynder
20. januar 2004 - 14:41 #3
Jeg synes det er godt at sortere med SQL, det er jeg overbevist om er meget hurtigere.
Avatar billede anhansen Nybegynder
20. januar 2004 - 15:10 #4
mufoxe-> Det kan godt være jeg spørger lidt dumt.. Men vil jeg ikke komme i problemer, når jeg forventer at der kommer en datatable fra min datagrid, og så sætter DataView ind...
Det kan godt være jeg er helt off, men den myDataTable du skriver, må være den datasource som er i datagrid før sortering, ikke?
Avatar billede anhansen Nybegynder
20. januar 2004 - 15:14 #5
mufoxe->Jeg får en null exception når jeg prøver at tilgå datasource på datagrid... Pga postback, og så er det oprindelige objekt jo væk...
thor-> Kræver dit stadig ikke at jeg ved postback efter sort, hiver data ud fra db, og på den måde skal binde forfra. Vil min information om checkboksene så ikke stadig være tabt?
Avatar billede thor.ostergaard Nybegynder
20. januar 2004 - 15:19 #6
Jeg plejer at smide datasettet på en en viewstate, som jeg så binder med efter postback.
Avatar billede anhansen Nybegynder
20. januar 2004 - 15:30 #7
Thor-> Det kunne selvfølgelig lade sig gøre... Jeg forsøger lige nogle af jeres løsninger.. Vil det at man gemmer et "stort" dataset ikke medføre en del ekstra trafik.. Det ser jeg lige på.. Det er nok ikke så voldsomt alligevel..
Avatar billede thor.ostergaard Nybegynder
20. januar 2004 - 15:31 #8
Jo
Avatar billede anhansen Nybegynder
20. januar 2004 - 15:41 #9
Det virker ikke helt efter planen.. Mine checkboxes er jo ikke med i datasettet sådan set..
Jeg prøver lige forfra...

Jeg er vel nødt til at gemme noget, i det jeg trykker på overskriften i en kolonne, og kalder sortfunktionen, så skal jeg vel være nødt til at gemme tilstanden på alle checkboxene... Er jeg ikke... Det vil sige hvis jeg laver en dummy kolonne til at starte med "chk", og så i sort funktionen, løber alle celler igennem og knytter hver enkel chk's state til den tilsvarende kolonne i ds, og så derefter viewstater den, og sorterer...

Ville det virke (kan man overhovedet følge det?!?)
Avatar billede anhansen Nybegynder
20. januar 2004 - 16:03 #10
Jeg skal til træning nu.. Følger lige op på det i morgen...
Avatar billede anhansen Nybegynder
27. januar 2004 - 15:44 #11
Mufoxe: Dit 2. svar virker. Læg lige et svar igen.. Havde ikke lige set sidebemærkningen, men det er sådan jeg har lavet det.
Jeg opretter en hasttable, og linker firmaid'et til checkboxens checked.
Denne hashtable gemmer jeg så i viewstate ved sortering, og henter den ind efter ny sql forespørgsel, og sætter hver checkbox i den linie der tilhører det firmaid til det i ht'en. Og så selvfølgelig sletter den fra viewstate når jeg har brugt den.
virker fint, og ok hurtigt.
Så smid et svar inden et par dage mufoxe.. Det minder vist en del om det du skrev, så du skal ha dine point. :-)
Avatar billede anhansen Nybegynder
04. februar 2004 - 10:54 #12
Jeg lukker... tak for hjælpen...
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