08. december 2003 - 12:40Der er
14 kommentarer og 2 løsninger
Datagrid sortering, 2 vejs sortering, bruger afhængigt
Jeg er en forholdsvis nybegynder i .NET og C# programmering, men føler at jeg har lidt styr på det. Mit problem er at jeg skal lave en applikation over et lager, og den bygger over en SQL database. Jeg har fået mit datagrid til at hente alt data ind fra SQL databasen via DataAdapter, DataSet og DataView, og det virker fint.
Mit problem er at jeg skal sortere min kolonner i mit datagrid, og det skal være begge veje, både Asc og Desc. Det har jeg også fået til at virke, men kun delvis.
} LastSortOrder og LastSortColumn er 2 statiske string variabler, for at få dem husket, og for at bruge dem i min Search function som jeg har oprettet i min applikation.
Problemet er at når der sidder 2 bruger på min applikation, så påvirker de hinandens sorteringer. Det sker fordi at de statiske string variabler glæder hele siden, og ikke den enkelte session som brugeren er inde med. Så når en klikker på Dato i mit datagrid, så sorter den Asc i den kolonne for den bruger, men klikker den anden så lige 3 sek efter på dato, så sorter kolonnen Desc.
Det kan jeg jo ikke bruge til noget, men jeg har søgt og søgt på nettet, og har virkelig gjort et stort arbejde for at finde noget, uden held. Alle kan vise mig hvordan man får det til at virke med 2 vejs sortering, men ingen har fundet noget på det problem hvis der er 2 brugere på applikationen.
Skriv hvis der er ting som er uklare, og som skal oplyses hvis der mangler noget, for at I måske kan finde en løsning. På forhånd tak.
Denne side indeholder artikler med forskellige perspektiver på Identity & Access Management i private og offentlige organisationer. Artiklerne behandler aktuelle IAM-emner og leveres af producenter, rådgivere og implementeringspartnere.
De statiske string bruges uden for min funktion, for at holde styr på hvordan kolonnen tidligere blev sorteret. De omtalte statiske strings er LastSortColumn og LastSortOrder.
De er oprettet før page load, og husker hvordan brugeren sorterede sidst han klikkede i mit datagrid.
ok, men hvorfor dævlen skal den være statisk. Du har jo lige selv argumenteret imod din egen kode :-) Hvis du laver en objektvariabel istedet for så har hver bruger din egen status
Nu ved jeg ikke lige hvordan de der komponenter virker, men hvis du sender noget SQL på et tidspunkt, burde du kunne sortere med den SQL, så de data du får ud af databasen allerede er sorteret.
Jeg har sagt at jeg ikke har så meget styr på C# endnu, så jeg regnede med at min løsning med den statiske kunne klare det, men fandt som sagt ud af at den virkede for hele siden, og ikke for brugeren.
Repsak kan du ikke give mig et eksempel på en objektvariabel, og forklare mig hvordan den vil følge brugeren, selvom der er 3 på siden på samme tid ???
Search er min funktion som brugerne bruger når de søger efter noget i min database, og Session["strSortString"] er så den string jeg bruger til at sortere mit datagrid med.
tja, det ved jeg ikke, men det virker jo som jeg ønsker. Som jeg lærte en gang er der mange løsninger på samme spørgsmål, og din måde er sikkert mere korrekt rent programmerings mæssigt end min. Men jeg vil sætte mig ned og se om jeg kan bruge dit til noget, skal lige gennemskue det hele.
Det har du fuldstændig ret i, det nytter ikke noget at lave noget lorte kode. Men hvor forkert af det af mig at bruge Sessions variabler? Set i forhold til min tidligere statiske variabel, som var global? :)
statisk variabel i denne situation er en katastrofe, men det har du vel fundet ud af ;-) Normalt bruger man sessions til at gemme oplysninger på tværs af sider.
Jeps, den har jeg lige regnet ud, fordi jeg er gået igang med at lege med data mellem siderne. Men så det er ikke så slemt at lave en sessions variabel, som det er med en statisk global?
Jeg har endnu ikke sat mig ned at prøvet dit svar med objekt variablerne endnu, men det kommer nok hen af vejen. Hvis du får 60 points, er du så tilfreds? Jeg fandt jo en løsning selv, inden jeg havde læst din, men selvfølgelig skal du have noget for tid.
1) Sessions var er ikke slemt overhovedet - sessions er sejt. Statisk er også sejt, bare ikke lige til det her 2) ja, det er op til dig :-) (jeg er ikke så fokuseret på points)
Jeg mener bare at ret skal være ret. Du kom med hjælpende hånd, men det var bare ik lige den afgørende hjælp, efter som jeg selv fik løst det. Måske ikke perfekt, men løst :) Mange tak for din tid, hav en forsat god dag :)
Synes godt om
Ny brugerNybegynder
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.