18. februar 2005 - 16:47Der er
11 kommentarer og 1 løsning
Er det muligt at brænse antal rows i et dataview?
Jeg har cashet et dataset som jeg bruger over hele mit site. Når jeg så skal bruge datasettet de forskellige steder bruger jeg et dataview til at udtrykke dataene.
Dette fungerer glimrende. Men er det muligt at lave en TOP 10 / LIMIT 10 som det er i sql?
Indtil vidre får jeg alle rækker ud på denne måde, men vil kun have de 10 øverste rækker ud:
Dim Dv as new dataview
Dv = ds.Tables.Item(0).DefaultView With dv .RowFilter = udtryk .Sort = "id DESC" End With
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.
måske en lidt kluntet løsning, men du kunne måske lave noget i denne stil : (for nedenstående er det en forudsætning at du har en et id i den første kolonne - men det er bare et eksempel).
DataTable table = ds.Tables[0]; int maxNumberOfRows = 5; int rowCount = table.Rows.Count; string idColumn = table.Columns[0].ColumnName; int maxId = (int)table.Rows[(maxNumberOfRows <= rowCount ? maxNumberOfRows : rowCount)][idColumn]; DataView dv = new DataView(table, idColumn + " < " + maxId, idColumn + " ASC", DataViewRowState.CurrentRows);
... så skulle du have et begrænset view, hvor du begrænser i forhold til et id. (hvis du har et id - skulle du have mulighed for at gøre det på den måde, men det er så også en forudsætning at der som udgangspunkt er sorteret på samme kolonne).
nå... du kan jo prøve det og se om du kan bruge det til noget :o)
hvis der skulle være huller i id-rækken gør det nu ikke nogen forskel i forbindelse med det eksempel jeg skrev - det var lidt det der var fidusen ;o)
jeg er helt enig i et det med tabellerne kunne være en løsning, men jeg kan godt forstå at spørgsmålet går på at gøre det i views.... det er på en måde lidt trist at cache en masse data og så også kopiere dem ved forespørgsler :o)
er livet ellers godt ? - og får du lavet nogle lækre programmer ?
int maxId = (int)table.Rows[(maxNumberOfRows <= rowCount ? maxNumberOfRows : rowCount)][idColumn];
:)
lækre programmer ? tja... knokler med projekt omkring Network Flows og Dijkstra's algoritme. Skal have lavet et system hvor man kan loade x blueprints ind, tilføje punkter og forbinde dem via et adminprogram og fra en stander/mobil skal man så kunne forespørge på den korteste rute fra a til b. Er lige nu kommet til bindeleddet mellem adminprogrammet og serveren (skrevet i python) hvor al kommunikation skal foregå gennem sockets.
Aalborg Uni er baseret på gruppearbejde, så det er ikke ene mand :) Dog er vi kun to kodere, og den anden er python nørd. Må nu sige at jeg er blevet pænt imponeret over det sprog, det kan nogle trix. Så kan de andre i gruppen få lov at rentegne CAD-tegninger og plotte punkter ind (aka slavearbejde) :P
hvis du poster din emailaddresse kan du få lov at se. Har gjort programmet fleksibelt nok til at kunne arbejde lokalt med XML-filer hvis man ikke har adgang til en server.
Ahhh... spændende projekt - skægt med så mange fagprofiler i gruppen :o) Jeg har sendt dig en mail (håber det er ok), så der skulle du gerne have lidt at skyde mails efter ;o)
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.