24. juli 2004 - 10:25Der er
7 kommentarer og 1 løsning
trække en værdi ud af databasen og sætte værdi til en listbox
Jeg har en tid værdi i min database der ser sådan her ud "10:00" og det er ikke noget problem at trække den ud, men så er det, at jeg har 2 listboxe, hvor den ene listbox skal sættes til 10 og den anden til 00, skal man trække dataene ud af databasen på en speciel måde, når dataene lige som skal skille af og hvordan sætter man listboxene lig med tallene?
Det skal lige siges at der står tal i mine listboxe og f.eks. værdien 10, skal sættes til at være valgt i den ene og 00 skal sætte til at være valgt i den anden.
Det er ikke så kompliceret at få den slags til at fungere fornuftigt, og du kan godt pakke det ind i en rimelig elegant og også rimelig general løsning.
Jeg synes ikke er er nogen grund til at du spolerer din datamodel ved at lagre tidsparametre hver for sig... Du kan sagtens fikse det uden.
Jeg har selv tidligere brugt en model hvor jeg laver en kontrol, som holder styr på de 2 dropdown bokse. Denne kontrol sørger for at tage den værdi boksene skal vise (tilsammen), og splittte den op i forbindelse med databinding.
Når resultatet så skal gemmes - sørger kontrollen så for at samle data ind fra de 2 bokse, og konvertere det til en værdi du kan smide ind i dit dataset igen (hvis det er sådan et du bruger).
Er det forståeligt, og er det noget du kunne tænke dig at se et eksempel på ?
Jeg regner med at du har din tid gemt i et eller andet dato format der kan konverteres til en DateTime, ellers kan du vel bare bruge string.split ved kolonnet.
Et lille eksemple på hvordan jeg nok ville gøre det, variablen tid vil så være dit database udtræk i din situation.
DateTime tid = DateTime.Now; int timer = tid.Hour; int mins = tid.Minute;
int index = listboxTimer.Items.FindByValue(timer.ToString()); listboxTimer.SelectedIndex = index;
index = listboxMins.Items.FindByValue(mins.ToString()); listboxMins.SelectedIndex = index;
Jeg har gemt tiden som en string og har brugt string.split og har gjort lige som du sagde med listboxene, men sammen med tid har jeg en dato, som jeg har fået med ud sammen med tiden, men hvordan sætter jeg Calendar1 lig med den dato, som jeg har fået ud?
Jeg har aldrig brugt calendar controllen før, som jeg går ud fra er typen "Calendar1" er. Men jeg kan se at den har en property der hedder SelectedDate, som tager en DateTime.
Så hvis du også har din dato som en string må det vel være noget i retning af:
DateTime date = Convert.ToDateTime("22-07-2004"); Calendar1.SelectedDate = date;
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.